報表做得讓人難受可能是你不瞭解 Python pyecharts 數據可視化操作

當python 遇見 Echarts , 就產生了pyecharts,pyecharts 是一個用於生成 Echarts 圖表的類庫。Echarts 是百度開源的一個數據可視化 JS 庫。用 Echarts 生成的圖可視化效果非常好, 是爲了與 Python 進行對接,方便在 Python 中直接使用數據生成圖。

Echarts官網: https://www.echartsjs.com/zh/index.html
pyecharts官網: http://pyecharts.org/#/zh-cn/intro
操作平臺: win10, python37, jupyter notebook
pyecharts版本: pyecharts.__version__ ——> 0.5.11
安裝指定版本: pip install pyecharts==0.5.11



1、柱形圖/條形圖示例

1.1、代碼

from pyecharts import Bar
bar =Bar("我的第一個圖表", "這裏是副標題") #標題
bar.add("服裝", #標籤
        ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"],#x座標
        [5, 20, 36, 10, 75, 90]) #y座標
# is_more_utils = True #顯示右側的工具欄
# bar.show_config() # 打印所有參數
bar.render('my_first_chart.html')#保存圖列

1.2、效果

在這裏插入圖片描述

1.3、分析

參數 說明
Tip 可以按右邊的下載按鈕將圖片下載到本地
data view 可以在其中直接填充數據
add() 主要方法,用於添加圖表的數據和設置各種配置項
is_more_utils = True 用於顯示右側的工具欄
show_config() 打印輸出圖表的所有配置項
render() 默認將會在根目錄下生成一個 render.html 的文件,支持 path 參數,設置文件保存位置,如 render(r"e:my_first_chart.html"),文件用瀏覽器打開。
  • 基本上所有的圖表類型都是這樣繪製的:

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

    • add() 添加數據及配置項。

    • render() 生成 .html 文件。


2、堆疊(柱狀)圖

from pyecharts import Bar

attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'] #x軸
v1 = [5,20,36,10,75,90] #y軸1
v2 = [10,25,8,60,20,80] #y軸1
bar = Bar('柱狀信息堆疊圖')
bar.add('商家A',attr,v1,is_stack = True)  #is_stack = True才表示堆疊在一起
bar.add('商家B',attr,v2,is_stack = True)
bar 

在這裏插入圖片描述


3、並列(柱形)圖

from pyecharts import Bar

attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']
v1 = [5,20,36,10,75,90]
v2 = [10,25,8,60,20,80]
bar = Bar('標記線和標記示例','作者:阿優樂揚')
bar.add('商家A',attr,v1,mark_point = ['average'])   #標記點:商家A的平均值
bar.add('商家B',attr,v2,mark_line = ['min','max'])    #標記線:商家B最小/最大值
bar.render('./first04.html')
bar

在這裏插入圖片描述


橫向並列(柱形)圖 :
在這裏插入圖片描述


4、折線/面積圖

4.1、折線圖

Line.add()方法簽名

add(
    name,x_axis,y_axis,
    is_symbol_show = True,
    is_smooth = False,
    is_stack = False,
    is_step = False,
    is_fill = False,**kwargs    
    )
以下爲屬性默認值:
    is_symbol_show = True,      #是否顯示標記圖形
    is_smooth = False,          #是否顯示平滑曲線
    is_stack = False,           #是否數據堆疊
    is_step = False,            #是否是階梯線
    is_fill = False,**kwargs    #是否填充曲線區域面積

(1)線型圖

from pyecharts import Line

attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']
v1 = [5,20,36,10,75,90]
v2 = [10,25,8,60,20,80]
line = Line('折線示例圖', '作者:阿優樂揚')
line.add('商家A',attr,v1,mark_point = ['average'])    
line.add('商家B',attr,v2,is_smooth = True, mark_line = ['max','average'])

在這裏插入圖片描述


(2)形狀

from pyecharts import Line

attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']
v1 = [5,20,36,10,75,90]
v2 = [10,25,10,60,20,80]
line = Line('折線示例圖', '作者:阿優樂揚')
line.add('商家A',attr,v1,
    mark_point = ['average','max','min'],  #標註點:平均值,最大值,最小值
    mark_point_symbol = 'diamond',         #標註點:鑽石形狀
    mark_point_textcolor = '#40ff27')      #標註點:標註文本顏色
line.add('商家B',attr,v2,mark_point = ['average','max','min'],
    mark_point_symbol = 'arrow',
    mark_point_symbolsize = 40)
line

在這裏插入圖片描述

4.2、面積圖

from pyecharts import Line

attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']
v1 = [5,20,36,10,75,90]
v2 = [10,25,8,60,20,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,
    line_color = '#000',     #黑色
    area_opacity = 0.3,      #填充不透明度
    is_smooth = True)

在這裏插入圖片描述


4.3、階梯圖

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_step=True, is_label_show=True)
line

在這裏插入圖片描述



5、圖形疊加

  • 自定義結合Line/ Bar/ Kline/ Scatter/ EffectScatter 等圖表。
  • 利用第一張圖表爲基礎,將後面的數據畫在第一張圖上。
  • OVERLAP.ADD() 方法簽名
    (1)線性+條形
from pyecharts import Bar,Line,Overlap
attr = ['A','B','C','D','E','F']
v1 = [10,20,30,40,50,60]
v2 = [38,28,35,58,65,70]
bar = Bar('Line - Bar示例')
bar.add('bar',attr,v1)
line = Line()
line.add('line',attr,v2)

overlop = Overlap()
overlop.add(bar)
overlop.add(line)
overlop

在這裏插入圖片描述


(2)線性+散點

#EffectScatter + Line 疊加
from pyecharts import Line,EffectScatter,Overlap
attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']
v1 = [5,20,36,10,10,90]
line = Line('線性_閃爍圖示例')
line.add('',attr,v1,is_random = True)

es = EffectScatter()
es.add('',attr,v1,effect_scale=8)   #閃爍
overlop = Overlap()
overlop.add(line)                   #必須先添加line,在添加es
overlop.add(es)
overlop

在這裏插入圖片描述



6、餅圖

6.1、普通餅圖

from pyecharts import Pie

attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']
v1 = [5,20,36,10,75,90]
pie = Pie('餅圖示例', '作者:阿優樂揚')
pie.add('',attr,v1,is_label_show = True)
pie

在這裏插入圖片描述


6.2、環形圖

from pyecharts import Pie

attr = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子']
v1 = [5,20,36,10,75,90]
pie = Pie('餅圖-環形圖示例', title_pos = 'center')
pie.add(
        '',attr,v1,                 #'':圖例名(不使用圖例)
        radius = [40,75],           #環形內外圓的半徑
        is_label_show = True,       #是否顯示標籤
        label_text_color = None,    #標籤顏色
        legend_orient = 'vertical', #圖例垂直
        legend_pos = 'left'
        )
pie

在這裏插入圖片描述


6.3、玫瑰花圖

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

在這裏插入圖片描述


## 6.4、餅圖嵌套
from pyecharts import Pie
pie =Pie("17級信息學院專業分佈","作者:阿優樂揚", title_pos='center', width=1000, height=600)
pie.add("", ['信管', '計科', '軟工', '電商', '教技', '網工'], [57, 114, 56, 72, 52, 50], radius=[40, 55],is_label_show=True)
pie.add("", ['管理類', '工科', '理學'], [139, 230, 52], radius=[0, 25], legend_orient='vertical', is_label_show=True, legend_pos='left')
pie

在這裏插入圖片描述

6.5、各類類型比率

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

在這裏插入圖片描述



7、散點圖

7.1、普通散點圖

from pyecharts import Scatter
v1 = [5,20,35,50,65,80]
v2 = [10,20,30,40,50,60]
scatter = Scatter('散點示例圖','作者:阿優樂揚')
scatter.add('A',v1,v2)
scatter.add('B',v1[::-1],v2)    #v1[::-1]代表切片倒序
scatter

在這裏插入圖片描述


7.2、類似氣泡圖

from pyecharts import Scatter
v1 = [5,20,35,50,65,80]
v2 = [10,20,30,40,50,60]
scatter = Scatter('散點-氣泡示例圖')
scatter.add('A',v1,v2)
scatter.add('B',v1[::-1],v2,                #v1[::-1]代表切片倒序
            is_visualmap = True,            #顯示滑動條
            symbol_size = 30,               #顯示圖內標點大小
            vasual_range_size = [20,80])    #顯示滑動範圍
scatter

在這裏插入圖片描述


7.3、帶有漣漪特效動畫的散點圖

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()
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

在這裏插入圖片描述



8、漏斗圖

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

在這裏插入圖片描述



9、儀表盤

from pyecharts import Gauge
gauge = Gauge("儀表盤示例","作者:阿優樂揚")
gauge.add("業務指標", "完成率", 66.66)
gauge

在這裏插入圖片描述



10、水球圖

(1)示例1

from pyecharts import Liquid
liquid =Liquid("水球圖示例", "作者:阿優樂揚")
liquid.add("Liquid", [0.5])
liquid

在這裏插入圖片描述
(2)示例2

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

在這裏插入圖片描述
(3)示例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

在這裏插入圖片描述



11、關係圖

from pyecharts import Graph
nodes =[{"name": "結點1", "symbolSize": 10},
        {"name": "結點2", "symbolSize": 20},
        {"name": "結點3", "symbolSize": 25},
        {"name": "結點4", "symbolSize": 32},
        {"name": "結點5", "symbolSize": 35},
        {"name": "結點6", "symbolSize": 16},
        {"name": "結點7", "symbolSize": 24},
        {"name": "結點8", "symbolSize": 20}]
links =[]
for i in nodes: 
    for j in nodes: 
        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

在這裏插入圖片描述



12、極座標圖

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

在這裏插入圖片描述


13、雷達圖

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

在這裏插入圖片描述


14、k線圖

from pyecharts import Kline
 
v1 = [[2320.26, 2320.26, 2287.3, 2362.94], [2300, 2291.3, 2288.26, 2308.38],
      [2295.35, 2346.5, 2295.35, 2345.92], [2347.22, 2358.98, 2337.35, 2363.8],
      [2360.75, 2382.48, 2347.89, 2383.76], [2383.43, 2385.42, 2371.23, 2391.82],
      [2377.41, 2419.02, 2369.57, 2421.15], [2425.92, 2428.15, 2417.58, 2440.38],
      [2411, 2433.13, 2403.3, 2437.42], [2432.68, 2334.48, 2427.7, 2441.73],
      [2430.69, 2418.53, 2394.22, 2433.89], [2416.62, 2432.4, 2414.4, 2443.03],
      [2441.91, 2421.56, 2418.43, 2444.8], [2420.26, 2382.91, 2373.53, 2427.07],
      [2383.49, 2397.18, 2370.61, 2397.94], [2378.82, 2325.95, 2309.17, 2378.82],
      [2322.94, 2314.16, 2308.76, 2330.88], [2320.62, 2325.82, 2315.01, 2338.78],
      [2313.74, 2293.34, 2289.89, 2340.71], [2297.77, 2313.22, 2292.03, 2324.63],
      [2322.32, 2365.59, 2308.92, 2366.16], [2364.54, 2359.51, 2330.86, 2369.65],
      [2332.08, 2273.4, 2259.25, 2333.54], [2274.81, 2326.31, 2270.1, 2328.14],
      [2333.61, 2347.18, 2321.6, 2351.44], [2340.44, 2324.29, 2304.27, 2352.02],
      [2326.42, 2318.61, 2314.59, 2333.67], [2314.68, 2310.59, 2296.58, 2320.96],
      [2309.16, 2286.6, 2264.83, 2333.29], [2282.17, 2263.97, 2253.25, 2286.33],
      [2255.77, 2270.28, 2253.31, 2276.22]]
kline = Kline("K 線圖示例")
kline.add("k線圖", ["2020/03/{}".format(i + 1) for i in range(30)], v1)
kline

在這裏插入圖片描述



15、平行座標系

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

在這裏插入圖片描述

16、詞雲圖

#qq個性
from pyecharts import WordCloud
name = [
        '學生','技術宅','有爲青年','IT民工','樂活族',
        '陽光','執着','90後','單身','上進'
        ]
value = [10000,6189,4556,2356,2233,
         542,462,361,265,125]
worldcloud = WordCloud(width = 1300,height = 620)
worldcloud.add('', name,value,word_size_range = [20,100])
worldcloud

在這裏插入圖片描述



17、pyecharts地圖

Map.add() 方法簽名

  • 安裝下列地圖數據包
    • pip install echarts-countries-pypkg
    • pip install echarts-china-provinces-pypkg
    • pip install echarts-china-cities-pypkg
    • pip install echarts-china-counties-pypkg
    • pip install echarts-china-misc-pypkg
    • pip install echarts-united-kingdom-pypkg
add(
    name,attr,value,
    maptype = 'china',
    is_roam = True,
    is_map_symobol_show = True 
    **kwargs
    )
maptype -> str: 地圖類型,支持China,world,北京,天津,上海,湖南,湖北,……363個二線城市
is_roam -> bool/str 是否開啓鼠標縮放,漫遊等,默認 True,
                    若只想開啓縮放/平移 設置scale/move 設置成 True 開啓
is
is_map_symobol_show 是否顯示地圖標記,默認 True

17.1、中國省份地圖

(1)入門學習

from pyecharts import Map
value = [240, 155, 10, 66, 78]
attr = ['貴州', '福建','山東','北京','上海']
map = Map('全國地圖示例',width = 1200,height = 600)
map.add('',attr,value,maptype = 'china')
map.render('./map01.html') #保存到本地
map

在這裏插入圖片描述


(2)高級實戰數值方法

import numpy as np #導入numpy庫
from pyecharts import Map #從pyecharts庫導入Map函數

attr=['北京','上海','天津','重慶','遼寧','吉林','黑龍江','河北','河南','山東','山西','江蘇','安徽','江西','浙江','福建','廣東','海南','貴州','雲南','四川','湖南','湖北','陝西','甘肅','青海','內蒙古','新疆','廣西','寧夏','西藏','香港','澳門','臺灣']

v1=np.random.randint(100,2000,34)#隨機生成銷量

map=Map("XX家電各省市銷售分佈圖(單位:臺)",title_color="#fff", title_pos="center", width=1000,height=600, background_color='#404a59')

map.add("", attr, v1,visual_range=[100, 2000],visual_text_color="#fff",symbol_size=15, is_visualmap=True,is_label_show=True,is_more_utils=True)#添加數據及配置項
map.render('XX家電各省市銷售分佈圖(單位:臺).html') #生成本地html
map

在這裏插入圖片描述


(2)高級實戰字典方法

from pyecharts import Map, Geo
# 省和直轄市
province_distribution = {'貴州': 55,
                         '北京': 35.5,
                         '河北': 23,
                         '遼寧': 12,
                         '江西': 6,
                         '上海': 20,
                         '安徽': 10,
                         '江蘇': 16,
                         '湖南': 9,
                         '浙江': 13,
                         '海南': 2,
                         '廣東': 22,
                         '湖北': 8,
                         '黑龍江': 11,
                         '澳門': 1,
                         '陝西': 11,
                         '四川': 7,
                         '內蒙古': 3,
                         '重慶': 3,
                         '雲南': 6,
                         '河南': 20,
                         '吉林': 3,
                         '山西': 12,
                         '山東': 11,
                         '福建': 4,
                         '青海': 1,
                         '阿優樂揚': 1,
                         '天津': 1,
                         '其他': 61}
provice=list(province_distribution.keys())
values=list(province_distribution.values())

# maptype='china' 只顯示全國直轄市和省級
# 數據只能是省名和直轄市的名稱
map = Map("中國地圖",'作者:阿優樂揚', width=1200, height=600)
map.add("", provice, values, visual_range=[0, 50],  maptype='china', is_visualmap=True,
    visual_text_color='#000')
map

在這裏插入圖片描述


17.2、貴州省市區地圖

from pyecharts import Map
value = [155,88,66,78, 66, 55]
attr = ['貴陽市', '遵義市','六盤水市','畢節市', '銅仁市','黔西南布依族苗族自治州']
map = Map('貴州地圖示例',width = 1200,height = 600)
map.add('',attr,value,maptype = '貴州',
        is_visualmap = True,
        visual_text_color = '#000',
        is_label_show = True
        )
map.render('./map02.html')
map

在這裏插入圖片描述


17.3、區縣地圖

from pyecharts import Map, Geo
# 區縣 -- 具體城市內的區縣  xx縣
quxian = ['興義市', '貞豐縣', '興仁縣', '冊亨縣', '安龍縣', '普安縣', '晴隆縣', '望謨縣']
values3 = [5, 9, 7, 8, 2, 4, 1, 3]
# 貴州黔西南布依族苗族自治州的區縣
map3 = Map("黔西南布依族苗族自治州",'作者:阿優樂揚', width=1200, height=600)
map3.add("貴州黔西南布依族苗族自治州縣級地圖", quxian, values3, visual_range=[1, 10], maptype='黔西南布依族苗族自治州', is_visualmap=True,
    visual_text_color='#000')
map3

在這裏插入圖片描述



18、熱力分佈圖

from pyecharts import Map, Geo

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, 25], type='heatmap',visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False)
geo.render(path="./空氣質量熱力圖.html") #保存到本地
geo

在這裏插入圖片描述

19、空氣質量評分

from pyecharts import Map, Geo
# 空氣質量評分
indexs = ['上海', '北京', '合肥', '哈爾濱', '廣州', '成都', '無錫', '杭州', '武漢', '深圳', '西安', '鄭州', '重慶', '長沙']
values = [4.07, 1.85, 4.38, 2.21, 3.53, 4.37, 1.38, 4.29, 4.1, 1.31, 3.92, 4.47, 2.40, 3.60]

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

# type="effectScatter", is_random=True, effect_scale=5  使點具有發散性
geo.add("空氣質量評分", indexs, values, type="effectScatter", is_random=True, effect_scale=5, visual_range=[0, 5],visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False)
geo

在這裏插入圖片描述



20、世界地圖

# -*- coding: utf-8 -*-

from pyecharts import Map, Geo
# 世界地圖數據
value = [95.1, 23.2, 43.3, 66.4, 88.5, 20]
attr= ["China", "Canada", "Brazil", "Russia", "United States", "Algeria"]
world_map = Map("世界地圖示例", width=1200, height=600)
world_map.add("世界地圖", attr, value, maptype="world",  is_visualmap=True, visual_text_color='#000')
world_map

在這裏插入圖片描述

(By:阿優樂揚 2020-03-06 晚上10點夜於 黔西南布依族苗族自治州貞豐縣 https://blog.csdn.net/ayouleyang )


學習文章:
[1] Python + PyEcharts——數據可視化
[2] Python3:pyecharts數據可視化插件
[3] python開發之pyecharts
[4] 數據地圖
[5] python最全畫地圖,可視化數據,pyecharts畫圖<一>
[6] Python模塊–PyEcharts

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