基于pyecharts的世界各国gdp面板数据动态展示

README

pyecharts version: pip install pyecharts==0.5.11

data resource: https://data.worldbank.org/indicator/NY.GDP.MKTP.CD

若用户需要用到地图图表,可安装对应的地图文件包。 1、全球国家地图 : echarts countries pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图 2、中国省级地图 : echarts china provinces pypkg ( 23 个省, 5 个自治区) 3、中国市级地图 : echarts china cities pypkg ( 370 个中国城市) $ pip install echarts countries pypkg $ pip install echarts china provinces pypkg $ pip install echarts china cities pypkg 更多介绍请参考 pyecharts 官方文档: http://pyecharts.org/#/zh cn/prepare

code

```python
import pandas as pd
from pyecharts import Timeline
import numpy as np
from pyecharts import Map
# 数据加载,计算范围
gdp = pd.read_excel("GDP.xlsx", encoding=utf-8, index_col=Country Name)
countrycode = gdp[Country Code]
# 实例化Timeline
timeline = Timeline(is_auto_play=1, timeline_bottom=0)
col_names = gdp.columns.values.tolist()
max_gdp = 0
min_gdp = np.inf

col_names = gdp.columns.values.tolist()
max_gdp = 0
min_gdp = np.inf

for col_name in col_names[3:]: # 设置一下最大最小值
    colmax = max(gdp[col_name])
    colmin = min(gdp[col_name])
    if colmax > max_gdp:
        max_gdp = colmax
    if colmin < min_gdp:
        min_gdp = colmin

def normal(num): # log尺度
    return np.log(num)

for col_name in col_names[3:]:
    value = list(gdp[col_name])
    pre_value = []
# 把没有的数据用-1代替
    for val in value:
        if np.isnan(val):
            pre_value.append(0)
        else:
            pre_value.append(normal(val))
    value = pre_value
    attr = list(gdp.index)
    map = Map("The variation of GDP", width=1200, height=600)
    map.add("log(GDP)", attr, value, maptype="world", is_visualmap=True,
        visual_text_color=#000,is_map_symbol_show=False,
        visual_range=[normal(min_gdp), normal(max_gdp)],
        visual_range_text = ["%.3f"%normal(min_gdp), "%.3f"%normal(max_gdp)],
        visual_top = center)
    timeline.add(map, col_name)
timeline.render("filepath")

Result

经验分享 程序员 微信小程序 职场和发展