In [1]:
# 导入工具包
import pandas as pd
from pyecharts.charts import Map
from pyecharts import options as opts
%matplotlib inline
In [2]:
# 读取数据
df = pd.read_excel(r'.\2021年全国各省GDP排名.xlsx')
df
Out[2]:
排名 省份 GDP(亿元) 增速
0 1 广东 124369.67 0.0800
1 2 江苏 116364.20 0.0860
2 3 山东 83095.90 0.0830
3 4 浙江 73516.00 0.0850
4 5 河南 58887.41 0.0630
5 6 四川 53850.79 0.0820
6 7 湖北 50012.94 0.1290
7 8 台湾 49986.00 0.0645
8 9 福建 48810.36 0.0800
9 10 湖南 46063.09 0.0770
10 11 上海 43214.85 0.0810
11 12 安徽 42959.20 0.0830
12 13 河北 40391.30 0.0650
13 14 北京 40269.60 0.0850
14 15 陕西 29800.98 0.0650
15 16 江西 29619.70 0.0880
16 17 重庆 27894.02 0.0830
17 18 辽宁 27584.10 0.0580
18 19 云南 27146.76 0.0730
19 20 广西 24740.86 0.0750
20 21 香港 23470.00 0.0640
21 22 山西 22590.16 0.0910
22 23 内蒙古 20514.20 0.0630
23 24 贵州 19586.42 0.0810
24 25 新疆 15983.65 0.0700
25 26 天津 15695.05 0.0660
26 27 黑龙江 14879.20 0.0610
27 28 吉林 13235.52 0.0660
28 29 甘肃 10243.30 0.0690
29 30 海南 6475.20 0.1120
30 31 宁夏 4522.31 0.0670
31 32 青海 3346.63 0.0570
32 33 西藏 2080.17 0.0670
33 34 澳门 1929.00 0.0628
In [3]:
# 创建数据对
data_pair = [list(z) for z in zip(df['省份'], df['GDP(亿元)'])]
data_pair
Out[3]:
[['广东', 124369.67],
 ['江苏', 116364.2],
 ['山东', 83095.9],
 ['浙江', 73516.0],
 ['河南', 58887.41],
 ['四川', 53850.79],
 ['湖北', 50012.94],
 ['台湾', 49986.0],
 ['福建', 48810.36],
 ['湖南', 46063.09],
 ['上海', 43214.85],
 ['安徽', 42959.2],
 ['河北', 40391.3],
 ['北京', 40269.6],
 ['陕西', 29800.98],
 ['江西', 29619.7],
 ['重庆', 27894.02],
 ['辽宁', 27584.1],
 ['云南', 27146.76],
 ['广西', 24740.86],
 ['香港', 23470.0],
 ['山西', 22590.16],
 ['内蒙古', 20514.2],
 ['贵州', 19586.42],
 ['新疆', 15983.65],
 ['天津', 15695.05],
 ['黑龙江', 14879.2],
 ['吉林', 13235.52],
 ['甘肃', 10243.3],
 ['海南', 6475.2],
 ['宁夏', 4522.31],
 ['青海', 3346.63],
 ['西藏', 2080.17],
 ['澳门', 1929.0]]
In [4]:
# 创建地图
c = (
    Map()
    .add(
        series_name='GDP(亿元)',
        data_pair=data_pair,
        maptype='china',
    )
    .set_global_opts(
        title_opts=opts.TitleOpts('2021年全国各省GDP'), 
        visualmap_opts=opts.VisualMapOpts(
            min_=min(df['GDP(亿元)']),
            max_=max(df['GDP(亿元)']),
            range_text=['高', '低'],
            pos_top='center',
            is_piecewise=True,
            pieces=[
                {'min':0, 'max':10000, 'label':'0-1W', 'color':'#D9D9D9'},
                {'min':10000, 'max':50000, 'label':'1W-5W', 'color':'#BCCFD0'},
                {'min':50000, 'max':80000, 'label':'5W-8W', 'color':'#8EBBD6'},
                {'min':80000, 'max':100000, 'label':'8W-10W', 'color':'#94D7EB'},
                {'min':100000, 'max':150000, 'label':'10W-15W', 'color':'#4397C9'},
            ]
        ),
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=True),
        showLegendSymbol=False,
    )
)
In [5]:
# 在notebook中显示
c.render_notebook()
Out[5]:
In [6]:
# 保存到本地
c.render("地图_2021年全国各省GDP.html")
Out[6]:
'C:\\Users\\sheng\\OneDrive\\个人\\博客\\博客文章\\Python绘制地图\\地图_2021年全国各省GDP.html'
In [ ]: