基于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")
