天天看點

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

Python3:pyecharts資料可視化插件

一、簡介

pyecharts 是一個用于生成 Echarts 圖表的類庫。 Echarts 是百度開源的一個資料可視化 JS 庫。主要用于資料可視化。

二、安裝

pip install pyecharts

線上安裝不成功,采用離線插件whl安裝:

(1)下載下傳:pyecharts-0.1.9.4-py2.py3-none-any.whl

(2)然後進入到所咋的檔案夾,執行安裝指令:

D:\whl>pip install pyecharts-0.1.9.4-py2.py3-none-any.whl

三、示例

1,代碼:

from pyecharts importBar

bar=Bar("我的第一個圖表", "這裡是副标題")

bar.add("服裝", ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"], [5, 20, 36, 10, 75, 90])

bar.show_config()

bar.render()

2,效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

3,分析:

Tip:可以按右邊的下載下傳按鈕将圖檔下載下傳到本地;

add():主要方法,用于添加圖表的資料和設定各種配置項

show_config():列印輸出圖表的所有配置項

render():預設将會在根目錄下生成一個 render.html 的檔案,支援 path 參數,設定檔案儲存位置,如 render(r"e:my_first_chart.html"),檔案用浏覽器打開。

預設的編碼類型為 UTF-8,在 Python3 中是沒什麼問題的,Python3 對中文的支援好很多。但是在 Python2 中,編碼的處理是個很頭疼的問題,暫時沒能找到完美的解決方法,目前隻能通過文本編輯器自己進行二次編碼,我用的是 Visual Studio Code,先通過 Gbk 編碼重新打開,然後再用 UTF-8 重新儲存,這樣用浏覽器打開的話就不會出現中文亂碼問題了。

基本上所有的圖表類型都是這樣繪制的:

chart_name = Type() 初始化具體類型圖表。

add() 添加資料及配置項。

render() 生成 .html 檔案。

四、圖表類型

1,Bar(柱狀圖/條形圖)

1.1 示例1:

from pyecharts importBar

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

v1=[20, 40, 60, 80, 100, 120]

v2=[10, 20, 30, 40, 120, 80]

bar=Bar("标記線和标記點示例")

bar.add("商家A", attr, v1, mark_point=["average"])

bar.add("商家B", attr, v2, mark_line=["min", "max"])

bar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

1.2 示例2:

from pyecharts importBar

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

v1=[20, 40, 60, 80, 100, 120]

v2=[10, 20, 30, 40, 120, 80]

bar=Bar("x 軸和 y 軸交換")

bar.add("商家A", attr, v1)

bar.add("商家B", attr, v2, is_convert=True)

bar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

2,EffectScatter(帶有漣漪特效動畫的散點圖)

#示例2:EffectScatter(帶有漣漪特效動畫的散點圖)

from pyecharts importEffectScatter

v1=[10, 20, 30, 40, 50, 60]

v2=[25, 20, 15, 10, 60, 33]

es=EffectScatter("動态散點圖示例")

es.add("effectScatter", v1, v2)

es.render()

es=EffectScatter("動态散點圖各種圖形示例")

es.add("", [10], [10], symbol_size=20, effect_scale=3.5, effect_period=3, symbol="pin")

es.add("", [20], [20], symbol_size=12, effect_scale=4.5, effect_period=4,symbol="rect")

es.add("", [30], [30], symbol_size=30, effect_scale=5.5, effect_period=5,symbol="roundRect")

es.add("", [40], [40], symbol_size=10, effect_scale=6.5, effect_brushtype='fill',symbol="diamond")

es.add("", [50], [50], symbol_size=16, effect_scale=5.5, effect_period=3,symbol="arrow")

es.add("", [60], [60], symbol_size=6, effect_scale=2.5, effect_period=3,symbol="triangle")

es.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

3,Funnel(漏鬥圖)

#示例四:Funnel(漏鬥圖)

from pyecharts importFunnel

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

value=[20, 40, 60, 80, 100, 120]

funnel=Funnel("漏鬥圖示例")

funnel.add("商品", attr, value, is_label_show=True, label_pos="inside", label_text_color="#fff")

funnel.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

4,Gauge(儀表盤)

#示例五: Gauge(儀表盤)

from pyecharts importGauge

gauge=Gauge("儀表盤示例")

gauge.add("業務名額", "完成率", 66.66)

gauge.show_config()

gauge.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

5,Geo(地理坐标系)

5.1 示例1:

#示例5: Geo(地理坐标系)#5.1

from pyecharts importGeo

data=[("海門",9),("鄂爾多斯",12),("招遠",12),("舟山",12),("齊齊哈爾",14),("鹽城",15),("赤峰",16),("青島",18),("乳山",18),("金昌",19),("泉州",21),("萊西",21), ("日照",21),("膠南",22),("南通",23),("拉薩",24),("雲浮",24),("梅州",25)]

geo=Geo("全國主要城市空氣品質","data from pm2.5",title_color="#fff",title_pos="center",width=1200,height=600,background_color='#404a59')

attr,value=geo.cast(data)

geo.add("",attr,value,visual_range=[0,200],visual_text_color="#fff",symbol_size=15,is_visualmap=True)

geo.show_config()

geo.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

5.2 示例2:

#6.2

from pyecharts importGeo

data=[("海門", 9), ("鄂爾多斯", 12), ("招遠", 12), ("舟山", 12), ("齊齊哈爾", 14), ("鹽城", 15)]

geo=Geo("全國主要城市空氣品質", "data from pm2.5", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59')

attr, value=geo.cast(data)

geo.add("", attr, value, type="effectScatter", is_random=True, effect_scale=5)

geo.show_config()

geo.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6, Graph(關系圖)

6.1 示例1:

#示例6:Graph(關系圖)#6.1

from pyecharts importGraph

nodes=[{"name": "結點1", "symbolSize": 10}, {"name": "結點2", "symbolSize": 20}, {"name": "結點3", "symbolSize": 30}, {"name": "結點4", "symbolSize": 40}, {"name": "結點5", "symbolSize": 50}, {"name": "結點6", "symbolSize": 40}, {"name": "結點7", "symbolSize": 30}, {"name": "結點8", "symbolSize": 20}]

links=[]for i innodes:for j innodes:

links.append({"source": i.get('name'), "target": j.get('name')})

graph=Graph("關系圖-環形布局示例")

graph.add("", nodes, links, is_label_show=True, repulsion=8000, layout='circular', label_text_color=None)

graph.show_config()

graph.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.2 示例2:

#6.2

from pyecharts importGraphimportjson

with open("..jsonweibo.json","r",encoding="utf-8") as f:

j=json.load(f)

nodes, links,categories,cont,mid,userl=jgraph=Graph("微網誌轉發關系圖", width=1200, height=600)

graph.add("",nodes,links,categories,label_pos="right", repulsion=50, is_legend_show=False, line_curve=0.2, label_text_color=None)

graph.show_config()

graph.render()

效果:待測試

7,Line(折線/面積圖)

7.1 示例1:

#示例7:Line(折線/面積圖)

from pyecharts importLine

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

v1=[5, 20, 36, 10, 10, 100]

v2=[55, 60, 16, 20, 15, 80]

line=Line("折線圖示例")

line.add("商家A", attr, v1, mark_point=["average"])

line.add("商家B", attr, v2, is_smooth=True, mark_line=["max", "average"])

line.show_config()

line.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

7.2 示例2:

#7.2

from pyecharts importLine

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

v1=[5, 20, 36, 10, 10, 100]

v2=[55, 60, 16, 20, 15, 80]

line=Line("折線圖-階梯圖示例")

line.add("商家A", attr, v1, is_step=True, is_label_show=True)

line.show_config()

line.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

7.3 示例3:

#7.3

from pyecharts importLine

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

v1=[5, 20, 36, 10, 10, 100]

v2=[55, 60, 16, 20, 15, 80]

line=Line("折線圖-面積圖示例")

line.add("商家A", attr, v1, is_fill=True, line_opacity=0.2, area_opacity=0.4, symbol=None)

line.add("商家B", attr, v2, is_fill=True, area_color='#000', area_opacity=0.3, is_smooth=True)

line.show_config()

line.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

8,Liquid(水球圖)

8.1 示例1:

#8.1

from pyecharts importLiquid

liquid=Liquid("水球圖示例")

liquid.add("Liquid", [0.6])

liquid.show_config()

liquid.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

8.2 示例2:

#8.2

from pyecharts importLiquid

liquid=Liquid("水球圖示例")

liquid.add("Liquid", [0.6, 0.5, 0.4, 0.3], is_liquid_outline_show=False)

liquid.show_config()

liquid.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

8.3 示例3:

#8.3

from pyecharts importLiquid

liquid=Liquid("水球圖示例")

liquid.add("Liquid", [0.6, 0.5, 0.4, 0.3], is_liquid_animation=False, shape='diamond')

liquid.show_config()

liquid.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

9,Map(地圖)

9.1 示例1:

#9.1

from pyecharts importMap

value=[155, 10, 66, 78, 33, 80, 190, 53, 49.6]

attr=["福建", "山東", "北京", "上海", "甘肅", "新疆", "河南", "廣西", "西藏"]

map=Map("Map 結合 VisualMap 示例", width=1200, height=600)

map.add("", attr, value, maptype='china', is_visualmap=True, visual_text_color='#000')

map.show_config()

map.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

9.2 示例2:

#9.2

from pyecharts importMap

value=[20, 190, 253, 77, 65]

attr=['汕頭市', '汕尾市', '揭陽市', '陽江市', '肇慶市']

map=Map("廣東地圖示例", width=1200, height=600)

map.add("", attr, value, maptype='廣東', is_visualmap=True, visual_text_color='#000')

map.show_config()

map.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

10,Parallel(平行坐标系)

#示例十一:Parallel(平行坐标系)

from pyecharts importParallel

c_schema=[ {"dim": 0, "name": "data"}, {"dim": 1, "name": "AQI"}, {"dim": 2, "name": "PM2.5"}, {"dim": 3, "name": "PM10"}, {"dim": 4, "name": "CO"}, {"dim": 5, "name": "NO2"}, {"dim": 6, "name": "CO2"}, {"dim": 7, "name": "等級", "type": "category", "data": ['優', '良', '輕度污染', '中度污染', '重度污染', '嚴重污染']}]

data=[ [1, 91, 45, 125, 0.82, 34, 23, "良"], [2, 65, 27, 78, 0.86, 45, 29, "良"], [3, 83, 60, 84, 1.09, 73, 27, "良"], [4, 109, 81, 121, 1.28, 68, 51, "輕度污染"], [5, 106, 77, 114, 1.07, 55, 51, "輕度污染"], [6, 109, 81, 121, 1.28, 68, 51, "輕度污染"], [7, 106, 77, 114, 1.07, 55, 51, "輕度污染"], [8, 89, 65, 78, 0.86, 51, 26, "良"], [9, 53, 33, 47, 0.64, 50, 17, "良"], [10, 80, 55, 80, 1.01, 75, 24, "良"], [11, 117, 81, 124, 1.03, 45, 24, "輕度污染"], [12, 99, 71, 142, 1.1, 62, 42, "良"], [13, 95, 69, 130, 1.28, 74, 50, "良"], [14, 116, 87, 131, 1.47, 84, 40, "輕度污染"]]

parallel=Parallel("平行坐标系-使用者自定義訓示器")

parallel.config(c_schema=c_schema)

parallel.add("parallel", data)

parallel.show_config()

parallel.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

11, Pie(餅圖)

11.1 示例1:

#11.1

from pyecharts importPie

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

v1=[11, 12, 13, 10, 10, 10]

pie=Pie("餅圖示例")

pie.add("", attr, v1, is_label_show=True)

pie.show_config()

pie.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

11.2 示例2:

#11.2

from pyecharts importPie

attr=["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]

v1=[11, 12, 13, 10, 10, 10]

v2=[19, 21, 32, 20, 20, 33]

pie=Pie("餅圖-玫瑰圖示例", title_pos='center', width=900)

pie.add("商品A", attr, v1, center=[25, 50], is_random=True, radius=[30, 75], rosetype='radius')

pie.add("商品B", attr, v2, center=[75, 50], is_random=True, radius=[30, 75], rosetype='area', is_legend_show=False, is_label_show=True)

pie.show_config()

pie.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

12,Polar(極坐标系)

12.1 示例1:

#12.1

from pyecharts importPolar

radius=['周一', '周二', '周三', '周四', '周五', '周六', '周日']

polar=Polar("極坐标系-堆疊柱狀圖示例", width=1200, height=600)

polar.add("A", [1, 2, 3, 4, 3, 5, 1], radius_data=radius, type='barRadius', is_stack=True)

polar.add("B", [2, 4, 6, 1, 2, 3, 1], radius_data=radius, type='barRadius', is_stack=True)

polar.add("C", [1, 2, 3, 4, 1, 2, 5], radius_data=radius, type='barRadius', is_stack=True)

polar.show_config()

polar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

12.2 示例2:

#12.2

from pyecharts importPolar

radius=['周一', '周二', '周三', '周四', '周五', '周六', '周日']

polar=Polar("極坐标系-堆疊柱狀圖示例", width=1200, height=600)

polar.add("", [1, 2, 3, 4, 3, 5, 1], radius_data=radius, type='barAngle', is_stack=True)

polar.add("", [2, 4, 6, 1, 2, 3, 1], radius_data=radius, type='barAngle', is_stack=True)

polar.add("", [1, 2, 3, 4, 1, 2, 5], radius_data=radius, type='barAngle', is_stack=True)

polar.show_config()

polar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

13,Radar(雷達圖)

13.1 示例1:

#13.1

from pyecharts importRadar

schema=[ ("銷售", 6500), ("管理", 16000), ("資訊技術", 30000), ("客服", 38000), ("研發", 52000), ("市場", 25000)]

v1=[[4300, 10000, 28000, 35000, 50000, 19000]]

v2=[[5000, 14000, 28000, 31000, 42000, 21000]]

radar=Radar()

radar.config(schema)

radar.add("預算配置設定", v1, is_splitline=True, is_axisline_show=True)

radar.add("實際開銷", v2, label_color=["#4e79a7"], is_area_show=False)

radar.show_config()

radar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

13.2 示例2:

#13.2

from pyecharts importRadar

value_bj=[[55, 9, 56, 0.46, 18, 6, 1], [25, 11, 21, 0.65, 34, 9, 2], [56, 7, 63, 0.3, 14, 5, 3], [33, 7, 29, 0.33, 16, 6, 4]]

value_sh=[[91, 45, 125, 0.82, 34, 23, 1], [65, 27, 78, 0.86, 45, 29, 2], [83, 60, 84, 1.09, 73, 27, 3], [109, 81, 121, 1.28, 68, 51, 4]]

c_schema=[{"name": "AQI", "max": 300, "min": 5}, {"name": "PM2.5", "max": 250, "min": 20}, {"name": "PM10", "max": 300, "min": 5}, {"name": "CO", "max": 5}, {"name": "NO2", "max": 200}, {"name": "SO2", "max": 100}]

radar=Radar()

radar.config(c_schema=c_schema, shape='circle')

radar.add("北京", value_bj, item_color="#f9713c", symbol=None)

radar.add("上海", value_sh, item_color="#b3e4a1", symbol=None)

radar.show_config()

radar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

14,Scatter(散點圖)

14.1 示例1:

#14.1

from pyecharts importScatter

v1=[10, 20, 30, 40, 50, 60]

v2=[10, 20, 30, 40, 50, 60]

scatter=Scatter("散點圖示例")

scatter.add("A", v1, v2)

scatter.add("B", v1[::-1], v2)

scatter.show_config()

scatter.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

14.2 示例2:散點列印Pyecharts字型(先準備一張png圖檔)

from pyecharts importScatter

scatter=Scatter("散點圖示例")

v1, v2=scatter.draw("pyecharts-0.png")

scatter.add("pyecharts", v1, v2, is_random=True)

scatter.show_config()

scatter.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

15, WordCloud(詞雲圖)

15.1 示例1:

#15.1

from pyecharts importWordCloud

name=['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']

value=[10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]

wordcloud=WordCloud(width=1300, height=620)

wordcloud.add("", name, value, word_size_range=[20, 100])

wordcloud.show_config()

wordcloud.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

15.2 示例2:

#15.2

from pyecharts importWordCloud

name=['Sam S Club', 'Macys', 'Amy Schumer', 'Jurassic World', 'Charter Communications', 'Chick Fil A', 'Planet Fitness', 'Pitch Perfect', 'Express', 'Home', 'Johnny Depp', 'Lena Dunham', 'Lewis Hamilton', 'KXAN', 'Mary Ellen Mark', 'Farrah Abraham', 'Rita Ora', 'Serena Williams', 'NCAA baseball tournament', 'Point Break']

value=[10000, 6181, 4386, 4055, 2467, 2244, 1898, 1484, 1112, 965, 847, 582, 555, 550, 462, 366, 360, 282, 273, 265]

wordcloud=WordCloud(width=1300, height=620)

wordcloud.add("", name, value, word_size_range=[30, 100], shape='diamond')

wordcloud.show_config()

wordcloud.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

五、使用者自定義

使用者還可以自定義結合 Line/Bar 圖表

需使用 get_series() 和 custom() 方法

get_series():擷取圖表的 series 資料;

custom(series):追加自定義圖表類型;

series -> dict:追加圖表類型的 series 資料;

先用 get_series() 擷取資料,再使用 custom() 将圖表結合在一起;

示例代碼:

#示例:自定義圖示類型

from pyecharts importBar, Line

attr=['A', 'B', 'C', 'D', 'E', 'F']

v1=[10, 20, 30, 40, 50, 60]

v2=[15, 25, 35, 45, 55, 65]

v3=[38, 28, 58, 48, 78, 68]

bar=Bar("Line - Bar 示例")

bar.add("bar", attr, v1)

line=Line()

line.add("line", v2, v3)

bar.custom(line.get_series())

bar.show_config()

bar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

六、示例

6.1,用極坐标系畫出一個愛心,代碼:

#示例:用極坐标系畫出一個愛心

importmathfrom pyecharts importPolar

data=[]for i in range(101):

theta=i /100*360r=5*(1+math.sin(theta /180*math.pi))

data.append([r, theta])

hour=[i for i in range(1, 25)]

polar=Polar("極坐标系示例", width=1200, height=600)

polar.add("Love", data, angle_data=hour, boundary_gap=False,start_angle=0)

polar.show_config()

polar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.2 用極坐标系畫出一朵小花,代碼:

importmathfrom pyecharts importPolar

data=[]for i in range(361):

t=i /180*math.pi

r=math.sin(2*t) *math.cos(2*t)

data.append([r, i])

polar=Polar("極坐标系示例", width=1200, height=600)

polar.add("Flower", data, start_angle=0, symbol=None, axis_range=[0, None])

polar.show_config()

polar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.3 塗上顔色的小紅花,代碼:

#示例:塗上顔色的小紅花

importmathfrom pyecharts importPolar

data=[]for i in range(361):

t=i /180*math.pi

r=math.sin(2*t) *math.cos(2*t)

data.append([r, i])

polar=Polar("極坐标系示例", width=1200, height=600)

polar.add("Color-Flower", data, start_angle=0, symbol=None, axis_range=[0, None], area_color="#f71f24", area_opacity=0.6)

polar.show_config()

polar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.4 用散點圖畫出一個愛心,代碼:

from pyecharts importScatter

scatter=Scatter("散點圖示例", width=800, height=480)

v1 ,v2=scatter.draw("love.png")

scatter.add("Love", v1, v2)

scatter.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.5 用散點圖畫出一個火辣的 Bra,代碼:

from pyecharts importScatter

scatter=Scatter("散點圖示例", width=1000, height=480)

v1 ,v2=scatter.draw("cup.png")

scatter.add("Cup", v1, v2)

scatter.render()

效果:

6.6 某地最低溫和最高氣溫折線圖,代碼:

from pyecharts importLine

attr=['周一', '周二', '周三', '周四', '周五', '周六', '周日', ]

line=Line("折線圖示例")

line.add("最高氣溫", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"], mark_line=["average"])

line.add("最低氣溫", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"], mark_line=["average"], yaxis_formatter="°C")

line.show_config()

line.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.7 餅圖嵌套,代碼:

from pyecharts importPie

pie=Pie("餅圖示例", title_pos='center', width=1000, height=600)

pie.add("", ['A', 'B', 'C', 'D', 'E', 'F'], [335, 321, 234, 135, 251, 148], radius=[40, 55],is_label_show=True)

pie.add("", ['H', 'I', 'J'], [335, 679, 204], radius=[0, 30], legend_orient='vertical', legend_pos='left')

pie.show_config()

pie.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.8 餅圖再嵌套,代碼:

importrandomfrom pyecharts importPie

attr=['A', 'B', 'C', 'D', 'E', 'F']

pie=Pie("餅圖示例", width=1000, height=600)

pie.add("", attr, [random.randint(0, 100) for _ in range(6)], radius=[50, 55], center=[25, 50],is_random=True)

pie.add("", attr, [random.randint(20, 100) for _ in range(6)], radius=[0, 45], center=[25, 50],rosetype='area')

pie.add("", attr, [random.randint(0, 100) for _ in range(6)], radius=[50, 55], center=[65, 50],is_random=True)

pie.add("", attr, [random.randint(20, 100) for _ in range(6)], radius=[0, 45], center=[65, 50],rosetype='radius')

pie.show_config()

pie.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.9 某地的降水量和蒸發量柱狀圖,代碼:

from pyecharts importBar

attr=["{}月".format(i) for i in range(1, 13)]

v1=[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]

v2=[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]

bar=Bar("柱狀圖示例")

bar.add("蒸發量", attr, v1, mark_line=["average"], mark_point=["max", "min"])

bar.add("降水量", attr, v2, mark_line=["average"], mark_point=["max", "min"])

bar.show_config()

bar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.10 各類電影中"好片"所占的比例,代碼:

from pyecharts importPie

pie=Pie('各類電影中"好片"所占的比例', "資料來着豆瓣", title_pos='center')

pie.add("", ["劇情", ""], [25, 75], center=[10, 30], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None, )

pie.add("", ["奇幻", ""], [24, 76], center=[30, 30], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None, legend_pos='left')

pie.add("", ["愛情", ""], [14, 86], center=[50, 30], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None)

pie.add("", ["驚悚", ""], [11, 89], center=[70, 30], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None)

pie.add("", ["冒險", ""], [27, 73], center=[90, 30], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None)

pie.add("", ["動作", ""], [15, 85], center=[10, 70], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None)

pie.add("", ["喜劇", ""], [54, 46], center=[30, 70], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None)

pie.add("", ["科幻", ""], [26, 74], center=[50, 70], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None)

pie.add("", ["懸疑", ""], [25, 75], center=[70, 70], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None)

pie.add("", ["犯罪", ""], [28, 72], center=[90, 70], radius=[18, 24], label_pos='center', is_label_show=True, label_text_color=None, is_legend_show=True, legend_top="center")

pie.show_config()

pie.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件

6.11 用極坐标系畫出一個蝸牛殼,代碼:

importmathfrom pyecharts importPolar

data=[]for i in range(5):for j in range(101):

theta=j /100*360alpha=i *360+theta

r=math.pow(math.e, 0.003*alpha)

data.append([r, theta])

polar=Polar("極坐标系示例")

polar.add("", data, symbol_size=0, symbol='circle', start_angle=-25, is_radiusaxis_show=False, area_color="#f3c5b3", area_opacity=0.5, is_angleaxis_show=False)

polar.show_config()

polar.render()

效果:

python 條形圖動态變化 可視化_Python3:pyecharts資料可視化插件