Tableau主要用于绘制GDP在各国地图上随时间变化的变化,Python用于绘制折线图(为了简便,只绘制了”中美印德日法英“的对比趋势)。
准备工作
1.下载数据集(https://data.worldbank.org.cn/indicator/NY.GDP.MKTP.CD)
2.下载Tableau(免费试用14天,学生教师可依证件申请许可)
3.需要的Python API :matplotlib,pandas,
1.如图所示:建议使用数据解释清理(工作表下)
2. 转到工作表,这时我们可以看到
因为时间序列是在文件中作为列单独存在,我们需要对其所有时间进行转置,选中所有时间,右键->变换->转置
3.大公告成!我们需要将Country Name移到列,转置字段值移到行,如图:
此时我们得到了一个简版的柱状图,但是不够直观,我们的目的是看到各国GDP随时间变化的变化,怎么做?
4. 找到“转置字段名称”将其移到页面上,如图:
我们可以对数据进行一次排序,这样更直观的感受时间变化下,各国GDP的变化,右边栏中是不是出现了时间“1960”呀?点击播放,我们可以感受随着时间的变化,各国GDP的变化。
这里无法插入视频,就不作演示了。
5.我们想要一张地图表单怎么做呢?很简单,新建一张工作表(左下)将经纬度移到行列上,如图
按照页面的分布,将转移字段值->标记的颜色下。转移字段名称->页面下,Country name-> 标记下,右边栏中也出现了时间播放按钮,点击就可以播放啦~~
6.我们也可以将两张工作表在一个页面显示,新建仪表板,如图;将两张工作表移到仪表板上
因为时间序列是同步的,所以点击播放 也可以播放哦~~
注意:因为数据中有一些无关数据,所以要注意舍去
#需要的API 有pandas和matplotlib ,这里就不做多的阐述,教程一堆堆
#代码如下:
import pandas
import numpy
import matplotlib.pyplot as plt
if __name__=="__main__":
gdp=pandas.read_excel("C:\\Users\\Aventador\\Desktop\\GDP绘制\\API_NY.GDP.MKTP.CD_DS2_zh_excel_v2_10577368.xls")
X=[i for i in range(1960,2018)]
print(X)
'''
中美德日英法印
'''
plt.figure(figsize=(15,15))
plt.legend(("ss"),loc='best')
plt.plot(X,gdp.ix[41].values[4:62],c='red',label='CNA')#中
plt.plot(X,(gdp.ix[120].values)[4:62],c='blue',label='JPN')#日
plt.plot(X,(gdp.ix[252].values)[4:62],c='green',label='USA')#美
plt.plot(X,(gdp.ix[78].values)[4:62],c='yellow',label='FRA')#法
plt.plot(X,(gdp.ix[56].values)[4:62],c='black',label='DEU')#德
plt.plot(X,(gdp.ix[110].values)[4:62],c='pink',label='IND')#印
plt.xticks(rotation=45)
plt.legend(loc='upper left')
plt.show()