當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