欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python數據可視化--pyecharts生成圖表

系統 2101 0

【python可視化系列】python數據可視化利器--pyecharts

echarts官網

一、前言

echarts是什么?下面是來自官方的介紹:?

ECharts,縮寫來自Enterprise Charts,商業級數據圖表,Echarts 是百度開源的一個數據可視化純Javascript(JS) 庫。主要用于數據可視化,可以流暢的運行在PC和移動設備上,兼容當前絕大部分瀏覽器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底層依賴輕量級的Canvas類庫ZRender,提供直觀,生動,可交互,可高度個性化定制的數據可視化圖表。創新的拖拽重計算、數據視圖、值域漫游等特性大大增強了用戶體驗,賦予了用戶對數據進行挖掘、整合的能力。?

支持折線圖(區域圖)、柱狀圖(條狀圖)、散點圖(氣泡圖)、K線圖、餅圖(環形圖)、雷達圖(填充雷達圖)、和弦圖、力導向布局圖、地圖、儀表盤、漏斗圖、事件河流圖等12類圖表,同時提供標題,詳情氣泡、圖例、值域、數據區域、時間軸、工具箱等7個可交互組件,支持多圖表、組件的聯動和混搭展現。

二、用法及安裝

使用echarts還是需要一定的前端知識,這里介紹一個python包–pyecharts,利用幾行代碼輕松生成echarts風格的圖表。pyecharts 是一個用于生成 Echarts 圖表的類庫。實際上就是 Echarts 與 Python 的對接。

1、安裝:

pip install pyecharts

2、通用配置項

xyAxis:直角坐標系中的 x、y 軸(Line、Bar、Scatter、EffectScatter、Kline)?

dataZoom:dataZoom 組件 用于區域縮放,從而能自由關注細節的數據信息,或者概覽數據整體,或者去除離群點的影響。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot)?

legend:圖例組件。圖例組件展現了不同系列的標記(symbol),顏色和名字。可以通過點擊圖例控制哪些系列不顯示。?

label:圖形上的文本標簽,可用于說明圖形的一些數據信息,比如值,名稱等。?

lineStyle:帶線圖形的線的風格選項(Line、Polar、Radar、Graph、Parallel)?

grid3D:3D笛卡爾坐標系組配置項,適用于 3D 圖形。(Bar3D, Line3D, Scatter3D)?

axis3D:3D 笛卡爾坐標系 X,Y,Z 軸配置項,適用于 3D 圖形。(Bar3D, Line3D, Scatter3D)?

visualMap:是視覺映射組件,用于進行『視覺編碼』,也就是將數據映射到視覺元素(視覺通道)?

markLine&markPoint:圖形標記組件,用于標記指定的特殊數據,又標記線和標記點兩種。(Bar、Line、Kline)?

tooltip:提示框組件,用于移動或點擊鼠標時彈出數據內容

3、圖表詳細

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(詞云圖)

用戶自定義

Grid 類:并行顯示多張圖?

Overlap 類:結合不同類型圖表疊加畫在同張圖上?

Page 類:同一網頁按順序展示多圖?

Timeline 類:提供時間線輪播多張圖

四、示例

因篇幅原因,這里只給出了每種圖表類型的示例(代碼 + 生成圖表),目的是為了引起讀者的興趣。

1、我的第一個圖表

            # encoding: utf-8
# 例子一

            
              from 
            
            pyecharts 
            
              import 
            
            Bar
bar = Bar("我的第一個圖表", "這里是副標題")
bar.add("服裝", ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"], [5, 20, 36, 10, 75, 90],is_more_utils=True)
bar.show_config()
bar.render()
          

http://localhost:63342/PycharmProjects/Attempt_new/try_echarts/render.html

python數據可視化--pyecharts生成圖表_第1張圖片

?

python數據可視化--pyecharts生成圖表_第2張圖片

Tips:

可以按右邊的下載按鈕將圖片下載到本地:????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 文件。

2、 Bar(柱狀圖/條形圖)

            # 2.1

            
              import 
            
            sys
reload(sys)
sys.setdefaultencoding('utf-8')
v1 = [1.1, 4.9, 7.0, 23.2, 25.6, 76.7, 120.6, 162.2, 32.6, 20.0, 6.4, 3.3]  # 初始化第一組要展示的數據
v2 = [5.8, 5.9, 9.0, 26.4, 28.7, 100.7, 195.6, 182.2, 48.7, 18.8, 6.0, 5.7]  # 初始化第二組要展示的數據
attr = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] # 指定X軸刻度名字

            
              from 
            
            pyecharts 
            
              import 
            
            Bar
bar =Bar("標記線和標記點示例","副標題:展示每一維度數據的最小,最大,平均值")
bar.add("商家A", attr, v1,mark_line=["min","average", "max"])
bar.add("商家B", attr, v2, mark_line=["min","average", "max"])
bar.render()
          

python數據可視化--pyecharts生成圖表_第3張圖片

            # 2.2
# encoding: utf-8

            
              from 
            
            pyecharts 
            
              import 
            
            Bar
v1 = [1.1, 4.9, 7.0, 23.2, 25.6, 76.7, 120.6, 162.2, 32.6, 20.0, 6.4, 3.3]  # 初始化第一組要展示的數據
v2 = [5.8, 5.9, 9.0, 26.4, 28.7, 100.7, 195.6, 182.2, 48.7, 18.8, 6.0, 5.7]  # 初始化第二組要展示的數據
attr = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] # 指定X軸刻度名字
bar =Bar("x 軸和 y 軸交換","副標題:展示每一維度數據的最小,最大,平均值")
bar.add("商家A", attr, v1,mark_line=["min","average", "max"])
bar.add("商家B", attr, v2, mark_line=["min","average", "max"],is_convert=True)
bar.render()
          

python數據可視化--pyecharts生成圖表_第4張圖片

再來介紹個新功能,如果想在一個網頁內按順序展示多個圖的話,推薦使用 Page() 類。
使用步驟
1 、引入 Page
2、使用 Page.add() 增加圖
3、使用 Page.render() 渲染網頁
顯示 多個圖

3、柱狀圖數據堆疊示例

            # encoding: utf-8

            
              import 
            
            sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 柱狀圖數據堆疊示例

            
              from 
            
            pyecharts 
            
              import 
            
            Bar, Scatter3D

            
              from 
            
            pyecharts 
            
              import 
            
            Page
page = Page()         # step 1
# bar
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱狀圖數據堆疊示例")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True)
page.add(bar)         # step 2
page.render()        # step 3
          

python數據可視化--pyecharts生成圖表_第5張圖片

?

?

4、蒸發量和降水量對比柱狀圖

            # encoding: utf-8

            
              from 
            
            pyecharts 
            
              import 
            
            Bar
#attr = ["{}month".format(i) for i in range(1, 13)]  # 指定X軸刻度名字
attr = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] # 指定X軸刻度名字
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]  # 初始化第二組要展示的數據
v3 = [4.0, 6.9, 9.0, 26.2, 28.6, 75.7, 139.6, 168.2, 28.6, 35.0, 2.4, 5.3]  # 初始化第er組要展示的數據
bar = Bar("Bar chart", "precipitation and evaporation one year")  # 設置圖標的名字和標題
bar.add("precipitation", attr, v1, mark_line=["average"], mark_point=["max", "min"])   # 設置第一組要展示數據的方面(原始護甲,平均值,最大值和最小值)設定圖例
bar.add("evaporation", attr, v2, mark_line=["average"], mark_point=["max", "min"])     # 設置第二組
bar.add("test_add_more", attr, v3, mark_line=["average"], mark_point=["max", "min"])    # 設置第三組
bar.render(path="test_bar.html")  # 設置要輸出的html頁面的保存路徑和名字htest_bar.html,默認值保存為為當前目錄下render.html
#def render(self,path="render.html",template_name="simple_chart.html",object_name="chart",**kwargs):
          

python數據可視化--pyecharts生成圖表_第6張圖片

5、散點圖:

            # 4.1、Scatter(散點圖)

            
              from 
            
            pyecharts 
            
              import 
            
            Scatter
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數據可視化--pyecharts生成圖表_第7張圖片

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

            # 4.2

            
              from 
            
            pyecharts 
            
              import 
            
            EffectScatter
v1 =[10, 20, 30, 40, 50, 60]
v2 =[25, 20, 15, 10, 60, 33]
es =EffectScatter("動態散點圖示例")
es.add("effectScatter", v1, v2)
es.render()
          

python數據可視化--pyecharts生成圖表_第8張圖片

            # 5.3動態散點圖各種圖形示例

            
              from 
            
            pyecharts 
            
              import 
            
            EffectScatter
es =EffectScatter("", "動態散點圖各種圖形示例")
es.add("pin_sample", [20], [20], symbol_size=20, effect_scale=3.5, effect_period=3, symbol="pin")
es.add("rect_sample", [30], [30], symbol_size=12, effect_scale=4.5, effect_period=4,symbol="rect")
es.add("roundRect_sample", [40], [40], symbol_size=30, effect_scale=5.5, effect_period=5,symbol="roundRect")
es.add("diamond_sample", [50], [50], symbol_size=10, effect_scale=6.5, effect_brushtype='fill',symbol="diamond")
es.add("arrow_sample", [60], [60], symbol_size=16, effect_scale=5.5, effect_period=3,symbol="arrow")
es.add("triangle_sample", [70], [70], symbol_size=6, effect_scale=4.5, effect_period=3,symbol="triangle")
es.show_config()
es.render()
          

python數據可視化--pyecharts生成圖表_第9張圖片

6、漏斗圖

            # Funnel(漏斗圖)

            
              from 
            
            pyecharts 
            
              import 
            
            Funnel
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數據可視化--pyecharts生成圖表_第10張圖片

7、儀表盤

            #4 Gauge(儀表盤)

            
              from 
            
            pyecharts 
            
              import 
            
            Gauge
gauge =Gauge("儀表盤示例")
gauge.add("業務指標", "完成率", 66.66)
gauge.show_config()
gauge.render()
          

python數據可視化--pyecharts生成圖表_第11張圖片

8、地圖可視化

            ?
          
  1. # 8.1 地圖可視化

  2. # -*- coding:utf-8 -*-

  3. from pyecharts import Geo

  4. data = [(u'廣州', 80), (u'漳州', 180)]

  5. geo = Geo("全國主要城市空氣質量", "data from pm2.5")

  6. attr, value = geo.cast(data)

  7. geo.add("city", attr, value, visual_range=[0, 200], maptype='china', visual_text_color="#fff",

  8. symbol_size=10, is_visualmap=True)

  9. geo.show_config()

  10. geo.render()

python數據可視化--pyecharts生成圖表_第12張圖片

python地圖可視化可能遇到問題,請參見【python可視化系列】關于 pyecharts 的 'No coordinate is specified for' 報錯解決

8.2、地圖例子

            ?
          
  1. from pyecharts import Geo

  2. data =[(u"北京", 9), (u"鄂爾多斯", 12), (u"招遠", 12), (u"舟山", 12), (u"齊齊哈爾", 14), (u"鹽城", 15)]

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

  4. attr, value =geo.cast(data)

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

  6. geo.show_config()

  7. geo.render()

python數據可視化--pyecharts生成圖表_第13張圖片

9、Graph(關系圖)

            ?
          
  1. # encoding: utf-8

  2. from pyecharts import Graph

  3. nodes =[{"name": "結點1", "symbolSize": 10}, {"name": "結點2", "symbolSize": 20}, {"name": "結點3", "symbolSize": 30},

  4. {"name": "結點4", "symbolSize": 40}, {"name": "結點5", "symbolSize": 10}, {"name": "結點6", "symbolSize": 40},

  5. {"name": "結點7", "symbolSize": 30}, {"name": "結點8", "symbolSize": 20}]

  6. links =[]

  7. p=0

  8. for i in nodes:

  9. if (p % 2 == 1):

  10. continue

  11. p += 1

  12. for j in nodes:

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

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

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

  17. graph.show_config()

  18. graph.render()

python數據可視化--pyecharts生成圖表_第14張圖片

10、微博轉發關系圖

            ?
          
  1. # encoding: utf-8

  2. #微博轉發關系圖

  3. from pyecharts import Graph

  4. import json

  5. with open("jsonweibo.json", "r") as f:

  6. j =json.load(f)

  7. nodes, links, categories, cont, mid, userl =j

  8. graph =Graph("微博轉發關系圖", width=1200, height=600)

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

  10. graph.show_config()

  11. graph.render()

python數據可視化--pyecharts生成圖表_第15張圖片

11、折線圖-階梯圖示例

            ?
          
  1. #11.1 Line(折線/階梯圖)

  2. from pyecharts import Line

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

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

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

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

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

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

  9. line.show_config()

  10. line.render()

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

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

  13. line.show_config()

  14. line.render()

python數據可視化--pyecharts生成圖表_第16張圖片

11.2、折線圖/面積圖示例

            # 8、Line(折線圖/面積圖)

            
              from 
            
            pyecharts 
            
              import 
            
            Line
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數據可視化--pyecharts生成圖表_第17張圖片

12、水球圖示例

            # 12.1、Line(水球圖示例)

            
              from 
            
            pyecharts 
            
              import 
            
            Liquid
liquid =Liquid("水球圖示例")
liquid.add("Liquid", [0.6])
liquid.show_config()
liquid.render()
          

python數據可視化--pyecharts生成圖表_第18張圖片

12.2、水球圖示例二

            
              from 
            
            pyecharts 
            
              import 
            
            Liquid
liquid =Liquid("水球圖示例")
liquid.add("Liquid", [0.6, 0.5, 0.4, 0.3], is_liquid_outline_show=False)
liquid.show_config()
liquid.render()
          

python數據可視化--pyecharts生成圖表_第19張圖片

12.3、水球圖示例:

            
              from 
            
            pyecharts 
            
              import 
            
            Liquid
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數據可視化--pyecharts生成圖表_第20張圖片

13、Map 結合 VisualMap 示例

            
              from 
            
            pyecharts 
            
              import 
            
            Map
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數據可視化--pyecharts生成圖表_第21張圖片

14、省級地圖示例

            # encoding: utf-8

            
              import 
            
            sys
reload(sys)
sys.setdefaultencoding('utf-8')

            
              from 
            
            pyecharts 
            
              import 
            
            Map
value =[20, 190, 253, 77, 65]
attr =['許昌市', '鄭州市', '開封市', '漯河市', '信陽市市']
map=Map("河南地圖示例", width=1200, height=600)
map.add("", attr, value, maptype=u'河南', is_visualmap=True, visual_text_color='#000')
map.show_config()
map.render()
          

python數據可視化--pyecharts生成圖表_第22張圖片

15、 Parallel(平行坐標系)

            # encoding: utf-8

            
              import 
            
            sys
reload(sys)
sys.setdefaultencoding('utf-8')
#10 Parallel(平行坐標系)

            
              from 
            
            pyecharts 
            
              import 
            
            Parallel
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數據可視化--pyecharts生成圖表_第23張圖片

16、3D散點圖示例:

            # encoding: utf-8
# 3D 散點圖示例
# scatter3D

            
              import 
            
            random

            
              from 
            
            pyecharts 
            
              import 
            
            Bar, Scatter3D

            
              from 
            
            pyecharts 
            
              import 
            
            Page
page = Page()         # step 1
data = [[random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] 
            
              for 
            
            _ 
            
              in 
            
            range(80)]
range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
               '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
scatter3D = Scatter3D("3D 散點圖示例", width=1200, height=600)
scatter3D.add("", data, is_visualmap=True, visual_range_color=range_color)
page.add(scatter3D)  # step 2
page.render()        # step 3
          

python數據可視化--pyecharts生成圖表_第24張圖片

17、餅狀圖示例:

            # encoding: utf-8

            
              from 
            
            pyecharts 
            
              import 
            
            Pie
attr =["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 =[11, 12, 13, 10, 10, 10]
pie =Pie("餅圖示例")
pie.add("", attr, v1, is_label_show=True)
pie.show_config()
pie.render()
          

python數據可視化--pyecharts生成圖表_第25張圖片

17.2、餅圖-玫瑰圖示例

            # encoding: utf-8

            
              from 
            
            pyecharts 
            
              import 
            
            Pie
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數據可視化--pyecharts生成圖表_第26張圖片

?

18、Polar(極坐標系)

18.1、極坐標系-堆疊柱狀圖示例

            # encoding: utf-8
#12 Polar(極坐標系)

            
              from 
            
            pyecharts 
            
              import 
            
            Polar
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數據可視化--pyecharts生成圖表_第27張圖片

18.2、極坐標系-堆疊柱狀圖示例

            
              from 
            
            pyecharts 
            
              import 
            
            Polar
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數據可視化--pyecharts生成圖表_第28張圖片

19、Radar(雷達圖)

            #13 Radar(雷達圖)

            
              from 
            
            pyecharts 
            
              import 
            
            Radar
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數據可視化--pyecharts生成圖表_第29張圖片

19.2、雷達圖示例

            
              from 
            
            pyecharts 
            
              import 
            
            Radar
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數據可視化--pyecharts生成圖表_第30張圖片

20、詞云圖1:

?

            #WordCloud(詞云圖)

            
              from 
            
            pyecharts 
            
              import 
            
            WordCloud
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數據可視化--pyecharts生成圖表_第31張圖片

20.2、詞云圖2:

?

            #WordCloud(詞云圖)

            
              from 
            
            pyecharts 
            
              import 
            
            WordCloud
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數據可視化--pyecharts生成圖表_第32張圖片

21、折線圖示例:

?

            # 折線圖示例

            
              from 
            
            pyecharts 
            
              import 
            
            Line
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數據可視化--pyecharts生成圖表_第33張圖片

22、嵌套餅圖

?

            
              from 
            
            pyecharts 
            
              import 
            
            Pie
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數據可視化--pyecharts生成圖表_第34張圖片

23、餅圖再嵌套

?

            
              import 
            
            random

            
              from 
            
            pyecharts 
            
              import 
            
            Pie
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數據可視化--pyecharts生成圖表_第35張圖片

?

24、各類電影中"好片"所占的比例

            
              from 
            
            pyecharts 
            
              import 
            
            Pie
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數據可視化--pyecharts生成圖表_第36張圖片

參考:https://www.sohu.com/a/158701638_609198


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一区二区三区杨幂在线观看 | 国产精品美女久久久久久久久久久 | 国产高清久久久 | 亚洲国产精品无码AV久久久 | 日韩在线免费观看视频 | 国产精品久久久久久久久久久新郎 | 国产精品久久久久无码AV1 | 久久亚洲精品中文字幕 | 欧美不在线 | 午夜影院福利社 | 天天想夜夜操 | 久久亚洲精品国产精品婷婷 | 日本久久网| 色婷婷色婷婷 | 毛片国产| 久久国内精品自在自线400部o | 99久久99视频 | 国偷自产av一区二区三区 | 亚洲天堂免费看 | 四虎欧美在线观看免费 | 四虎综合| 国产精品国产三级国产播12软件 | 嫩草影院ncyy在线观看 | 妇女毛片 | 精品欧美一区二区三区 | 99精品视频3| 日韩欧美精品综合一区二区三区 | 欧美亚洲国产另类在线观看 | 狠狠色狠狠色综合日日92 | 日日摸夜夜添夜夜 | 在线精品亚洲欧美日韩国产 | 国产αv| 清草在线视频精品 | 成人在线小视频 | 久99视频 | 在线二区人妖系列 | 欧美日韩中文视频 | 亚洲视频在线网站 | 三级毛片免费看 | 亚洲精品在线不卡 | 亚洲精品乱码久久久久久按摩观 |