pyecharts地理信息可视化(1) -- 绘制2D地图

本文案例使用的GDP数据来源于国家统计局官网,可在线下载到本地,保存为csv或excel格式,用pandas中的DataFrame进行读取。

全国各省单年GDP的可视化:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import pandas as pd
from pyecharts.charts import Map
import pyecharts.options as opts

frame = pd.read_csv('D:\\分省年度数据.csv', encoding='GBK')
'''
地区 2019年 2018年 2017年 2016年 2015年 2014年 2013年 2012年 2011年 2010年
北京 35371.28 33105.97 28014.94 25669.13 23014.59 21330.83 19800.81 17879.4 16251.93 14113.58
天津 14104.28 13362.92 18549.19 17885.39 16538.19 15726.93 14442.01 12893.88 11307.28 9224.46
河北 35104.52 32494.61 34016.32 32070.45 29806.11 29421.15 28442.95 26575.01 24515.76 20394.26
山西 17026.68 15958.13 15528.42 13050.41 12766.49 12761.49 12665.25 12112.83 11237.55 9200.86
内蒙古 17212.53 16140.76 16096.21 18128.1 17831.51 17770.19 16916.5 15880.58 14359.88 11672
辽宁 24909.45 23510.54 23409.24 22246.9 28669.02 28626.58 27213.22 24846.43 22226.7 18457.27
吉林 11726.82 11253.81 14944.53 14776.8 14063.13 13803.14 13046.4 11939.24 10568.83 8667.58
黑龙江 13612.68 12846.48 15902.68 15386.09 15083.67 15039.38 14454.91 13691.58 12582 10368.6
上海 38155.32 36011.82 30632.99 28178.65 25123.45 23567.7 21818.15 20181.72 19195.69 17165.98
江苏 99631.52 93207.55 85869.76 77388.28 70116.38 65088.32 59753.37 54058.22 49110.27 41425.48
浙江 62351.74 58002.84 51768.26 47251.36 42886.49 40173.03 37756.59 34665.33 32318.85 27722.31
安徽 37113.98 34010.91 27018 24407.62 22005.63 20848.75 19229.34 17212.05 15300.65 12359.33
福建 42395 38687.77 32182.09 28810.58 25979.82 24055.76 21868.49 19701.78 17560.18 14737.12
江西 24757.5 22716.51 20006.31 18499 16723.78 15714.63 14410.19 12948.88 11702.82 9451.26
山东 71067.53 66648.87 72634.15 68024.49 63002.33 59426.59 55230.32 50013.24 45361.85 39169.92
河南 54259.2 49935.9 44552.83 40471.79 37002.16 34938.24 32191.3 29599.31 26931.03 23092.36
湖北 45828.31 42021.95 35478.09 32665.38 29550.19 27379.22 24791.83 22250.45 19632.26 15967.61
湖南 39752.12 36329.68 33902.96 31551.37 28902.21 27037.32 24621.67 22154.23 19669.56 16037.96
广东 107671.07 99945.22 89705.23 80854.91 72812.55 67809.85 62474.79 57067.92 53210.28 46013.06
广西 21237.14 19627.81 18523.26 18317.64 16803.12 15672.89 14449.9 13035.1 11720.87 9569.85
海南 5308.93 4910.69 4462.54 4053.2 3702.76 3500.72 3177.56 2855.54 2522.66 2064.5
重庆 23605.77 21588.8 19424.73 17740.59 15717.27 14262.6 12783.26 11409.6 10011.37 7925.58
四川 46615.82 42902.1 36980.22 32934.54 30053.1 28536.66 26392.07 23872.8 21026.68 17185.48
贵州 16769.34 15353.21 13540.83 11776.73 10502.56 9266.39 8086.86 6852.2 5701.84 4602.16
云南 23223.75 20880.63 16376.34 14788.42 13619.17 12814.59 11832.31 10309.47 8893.12 7224.18
西藏 1697.82 1548.39 1310.92 1151.41 1026.39 920.83 815.67 701.03 605.83 507.46
陕西 25793.17 23941.88 21898.81 19399.59 18021.86 17689.94 16205.45 14453.68 12512.3 10123.48
甘肃 8718.3 8104.07 7459.9 7200.37 6790.32 6836.82 6330.69 5650.2 5020.37 4120.75
青海 2965.95 2748 2624.83 2572.49 2417.05 2303.32 2122.06 1893.54 1670.44 1350.43
宁夏 3748.48 3510.21 3443.56 3168.59 2911.77 2752.1 2577.57 2341.29 2102.21 1689.65
新疆 13597.11 12809.39 10881.96 9649.7 9324.8 9273.46 8443.84 7505.31 6610.05 5437.47
'''

map = Map()
map.add("我国地区的GDP", frame[['地区','2019年']].values.tolist(), "china")
map.set_global_opts(visualmap_opts=opts.VisualMapOpts(
is_piecewise=True,
pieces=[
{"min":0,"max":10000,"label":"1~10000","color":"cyan"},
{"min":10001,"max":20000,"label":"10001~20000","color":"yellow"},
{"min":20001,"max":50000,"label":"20001~50000","color":"orange"},
{"min":50001,"max":80000,"label":"50001~80000","color":"coral"},
{"min":80001,"max":120000,"label":"80001~120000","color":"red"},
]
))
map.render("2019年全国各地区GDP.html")

全国各省多年GDP的可视化:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import pandas as pd
from pyecharts.charts import Map, Timeline
import pyecharts.options as opts

frame = pd.read_csv('D:\\分省年度数据.csv', encoding='GBK')

tl = Timeline()
for i in range(2010, 2020):
map0 = (
Map()
.add("省份",frame[['地区',str(i)+'年']].values.tolist(), "china")
.set_global_opts(
title_opts=opts.TitleOpts(title="Map-{}年GDP(亿元)".format(i)),
visualmap_opts=opts.VisualMapOpts(
is_piecewise=True,
pieces=[
{"min":0,"max":10000,"label":"1~10000","color":"cyan"},
{"min":10001,"max":20000,"label":"10001~20000","color":"yellow"},
{"min":20001,"max":50000,"label":"20001~50000","color":"orange"},
{"min":50001,"max":80000,"label":"50001~80000","color":"coral"},
{"min":80001,"max":120000,"label":"80001~12000","color":"red"},
]
)
)
)
tl.add(map0, "{}年".format(i))
tl.render("2010~2019年全国各地区GDP.html")

其他效果:

0%