pyecharts生成各種圖表

pyecharts的使用

pyecharts 是一個用於生成 Echarts 圖表的類庫。

echarts 是百度開源的一個數據可視化 JS 庫,主要用於數據可視化。pyecharts 是一個用於生成 Echarts 圖表的類庫。實際上就是 Echarts 與 Python 的對接。

使用 pyecharts 可以生成獨立的網頁,也可以在 flask , Django 中集成使用。

pyecharts包含的圖表

Bar(柱狀圖/條形圖) 
Bar3D(3D 柱狀圖) 
Boxplot(箱形圖) 
EffectScatter(帶有漣漪特效動畫的散點圖) 
Funnel(漏斗圖) 
Gauge(儀表盤) 
Geo(地理座標系) 
Graph(關係圖) 
HeatMap(熱力圖) 
Kline(K線圖) 
Line(折線/面積圖) 
Line3D(3D 折線圖) 
Liquid(水球圖) 
Map(地圖) 
Parallel(平行座標系) 
Pie(餅圖) 
Polar(極座標系) 
Radar(雷達圖) 
Sankey(桑基圖) 
Scatter(散點圖) 
Scatter3D(3D 散點圖) 
ThemeRiver(主題河流圖) 
WordCloud(詞雲圖)

1. 柱狀圖

from pyecharts.charts import Bar
from pyecharts import options

# 1.準備數據
cate = ['湖北', '四川', '重慶', '河北', '雲南']
data1 = [34500, 3000, 3218, 2890, 50023]
data2 = [1200, 100, 300, 130, 1004]

# 2. 創建圖表對象
bar = Bar()

# 3. 關聯數據
bar.add_xaxis(cate)    # 確定x軸上要顯示的內容
bar.add_yaxis('確診人數', data1)
bar.add_yaxis('死亡人數', data2)

# 4. 設置圖表
# 全局設置
bar.set_global_opts(
        # 設置標題信息
        title_opts=options.TitleOpts(title='全國疫情數據統計', subtitle='確診人數和死亡人數'),
        # 顯示工具箱
        toolbox_opts=options.ToolboxOpts())

# 系列設置
bar.set_series_opts(
        # 設置是否顯示數值
        label_opts=options.LabelOpts(is_show=False),
        # 添加標記點
        markpoint_opts=options.MarkPointOpts(data=[
            options.MarkPointItem(type_='min', name='最小值'),
            options.MarkPointItem(type_='max', name='最大值')
        ]))


# 5. 數據渲染 - 生成圖表
bar.render('files/柱狀圖.html')

在這裏插入圖片描述

2. 餅狀圖

from pyecharts.charts import Pie
from pyecharts import options

# 1. 準備數據
data = [('蘋果', 153), ('三星', 56), ('華爲', 200), ('Oppo', 89)]

# 2. 創建圖標對象
pie = Pie()

# 3. 關聯數據
pie.add(
        # 設置系列名稱
        series_name='手機銷量',
        # 設置需要展示的數據
        data_pair=data,
        # 設置圓環空心部分和數據顯示部分的比例
        radius=['30%', '70%'],
        # 設置餅是不規則的
        rosetype='radius'
)

# 設置數據顯示的格式
pie.set_series_opts(label_opts=options.LabelOpts(formatter='{b}:{d}%'))
# pie.set_series_opts(label_opts=options.LabelOpts(formatter='{b}的佔比:百分之{d}'))

# 設置圖表的標題
pie.set_global_opts(title_opts=options.TitleOpts(title='手機銷量'))

# 5. 渲染數據
pie.render('files/餅狀圖.html')

在這裏插入圖片描述

3. 折線圖

from pyecharts.charts import Line
from pyecharts import options

# 1.準備數據
cate = ['湖北', '四川', '重慶', '河北', '雲南']
data1 = [3400, 3000, 3218, 2890, 5023]
data2 = [600, 100, 300, 130, 504]

# 2.創建圖表
line = Line()

# 3. 關聯數據
line.add_xaxis(cate)
# line.add_yaxis('確診人數', data1,
#                markline_opts=options.MarkLineOpts(data=[
#                    options.MarkPointItem(type_='average')
#                ]))
line.add_yaxis('確定人數', data1,
               # 設置折線是否平滑
               is_smooth=True)

line.add_yaxis('死亡人數', data2, markpoint_opts=options.MarkPointOpts(
        data=[options.MarkPointItem(type_='min', name='最小值')]
))

line.set_series_opts(markline_opts=options.MarkLineOpts(
        # 設置平均值的標記線
        data=[options.MarkPointItem(type_='average', name='平均值'),
              # 設置最大值的標記線
              options.MarkPointItem(type_='max', name='最大值')]
))

line.set_global_opts(title_opts=options.TitleOpts(title='主標題', subtitle='副標題'))

# 5. 渲染數據
line.render('files/折線圖.html')

在這裏插入圖片描述

4. 地圖

from pyecharts.charts import Map
from pyecharts import options

# 1. 準備數據
data = [('湖北', 1500), ('四川', 340), ('西藏', 34), ('黑龍江', 123)]


# 2.創建地圖對象
map1 = Map()

# 3. 關聯數據
map1.add('疫情數據', data, 'china')


# 4. 設置
map1.set_global_opts(
        # 設置顏色塊標記範圍
        visualmap_opts=options.VisualMapOpts(max_=2000, is_piecewise=True),
        # 隱藏頂部的數據導航顯示
        legend_opts=options.LegendOpts(is_show=False),
        title_opts=options.TitleOpts(title='大標題', subtitle='副標題')
)

# 5. 渲染數據
map1.render('files/地圖.html')

在這裏插入圖片描述

5. 組合圖
from pyecharts.charts import Grid

grid = Grid()
grid.add(bar, grid_opts=options.GridOpts(pos_bottom='60%'))
grid.add(line, grid_opts=options.GridOpts(pos_top='60%'))

grid.render('files/組合.html')

在這裏插入圖片描述

最近在b站上發現了一個很好的python基礎教學視頻感興趣的可以看看:https://www.bilibili.com/video/BV1jE411x7ss

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章