# GDP动态图绘制
from pyecharts.charts import Bar, Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType
#  读数据
f = open("H:/fengmin/python-heima/动态柱状图数据/1960-2019全球GDP数据.csv", "r", encoding="GB2312")  # 注意数据文件为csv格式记事本打开右下角为ANSI所以这里用GB2312接收中文
data_lines = f.readlines()   # 一行一行接收
# 对数据进行处理(也可实现在数据中处理好格式)
# 删除第一行数据(无用)
data_lines.pop(0)
# 将数据转换为字典格式为:
# {年份:[[国家,gdp],[国家,gdp]],年份:[国家,gdp]}
# 先定义字典
data_dict = {}
for line in data_lines:year = int(line.split(",")[0])  # 分割取数据country = line.split(",")[1]gdp = float(line.split(",")[2])# 可以将数据中的科学计数法和其他形式均变成浮点形式
# 想将数据处理为嵌套形式,即一个年份下包含许多国家和gdp。该问题转化为判断字典里有没有指定的关键字key(异常捕获)try:data_dict[year].append([country, gdp])  # 如果year存在就再添加数据except KeyError:                     # 如果year不存在就追加一个新的内嵌列表data_dict[year] = []             # data_dict[year]=[]相当于在字典里建立了一个新的元素,它的关键字为year(所以实现了把数据导入的效果hhsb)data_dict[year].append([country, gdp])
# 因为for循环中是无须的,所以要进行排序年份
sorted_year_list = sorted(data_dict.keys())
# 创建时间线
timeline = Timeline({"theme":ThemeType.LIGHT}
)
for year in sorted_year_list:data_dict[year].sort(key=lambda element: element[1], reverse=True)  # 按gdp sort(从小到大排)一个reverse反转即从大到小# 取出gdp排名前8的国家year_data = data_dict[year][0:8]x_data = []y_data = []for country_gdp in year_data:x_data.append(country_gdp[0]) # year下的每个【】中的0号元素y_data.append(country_gdp[1]/100000000) # 得到的数据就是以亿为单位# 构建柱状图bar = Bar()x_data.reverse()y_data.reverse()bar.add_xaxis(x_data)bar.add_yaxis("GDP(亿)", y_data, label_opts=LabelOpts(position="right"))# 反转xy轴(横向展示)bar.reversal_axis()# 添加标题每年;先添加标题再加时间线否则报错bar.set_global_opts(title_opts=TitleOpts(title=f"{year}年全球前8GDP数据"))timeline.add(bar, str(year)) # 时间线对应的bar图,时间线显示的是年份
# 设置时间线格式
timeline.add_schema(play_interval=1000, # 自动播放1000毫秒is_timeline_show=True,is_auto_play=True,is_loop_play=False
)
# 绘图
timeline.render("1960-2019全球GDP前8国家.html")

其中数据图长这样子

结果图是动态哒,截两张表示一下:

1996-2019各国GDP变化动态柱状图python相关推荐

  1. gdp python 变迁动图_用 Python 带你看各国 GDP 变迁|python3教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联 ...

  2. gdp python 变迁动图_19602018年世界各国GDP排名变化Python动图实现

    上一期用MATLAB实现了世界各国GDP排名变化的动态图:1960-2018年世界各国GDP排名变化--Matlab动图实现.今天在这里用Python实现一下. 数据来源: https://data. ...

  3. python高端实现各国GDP动态轮换图

    python高端实现各国GDP动态轮换图 文章目录 python高端实现各国GDP动态轮换图 前言效果 一.准备数据等文件 二.完整代码 1.准备showGDP.py 2.准备PlotUtil.py ...

  4. 基于python制作GDP动态柱状图

    目的:用python制作此类带有时间线的柱状图 以下是python代码展示: """ GDP动态柱状图开发 """ # 导入所用到的相关py ...

  5. Python可视化学习——使用JSON进行数据转换、pyecharts模块调用以及可视化案例的介绍(可视化案例数据暂无),柱状图及动态柱状图的构建

    数据可视化 可视化效果一:2020年印美日新冠累计确诊人数 2020年是新冠疫情爆发的一年,随着疫情的爆发,国内外确诊人数成了大家关心的热点,相信大家都有看过类似的疫情报告.本案例对印度美国日本三个国 ...

  6. 各国GDP动态图-Pyecharts实现

    各国GDP动态图-Pyecharts实现 强国史诗!1960-2021年各个国家GDP变化:一同见证中国崛起! 中国--可能是最具传奇色彩的国家.持久的鼎盛.百年屈辱史.或是近现代的复兴之路,无一不令 ...

  7. 9.4 Python读取各国GDP数据的json文件并用Pygal绘图

    4.读取各国GDP数据的json文件并用Pygal绘图 各国 GDP 数据的 json 文件下载 步骤: 读取 json 数据 json 模块包含了将 json 字符串恢复成 Python 对象函数, ...

  8. python实现动态柱状图

    目录 一.基础柱状图 反转x轴,y轴,设置数值标签在右侧 小结 二.基础时间线柱状图 三.GDP动态柱状图绘制 1.了解列表的sort方法并配合lambda匿名函数完成列表排序 2.完成图表所需数据 ...

  9. gdp python 变迁动图_用 Python 带你看各国 GDP 变迁

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 周萝卜源自:萝卜大杂烩 PS:如有需要Python学习资料的小伙伴可 ...

最新文章

  1. modprobe和insmod区别
  2. python就业方向及工资-Python的就业方向有哪些?
  3. java 中的gc方法
  4. css段落文字(中英文混杂)实现两端对齐
  5. android多个闹钟实现,Android编程实现PendingIntent控制多个闹钟的方法
  6. 【qduoj - 夏季学期创新题】骑士游历(递推dp)
  7. unity3d 2D版本见缝插针demo
  8. CentOS Linux 7编译安装Redis
  9. java中printreader类_Java基本字符流输入输出类的使用
  10. 领导逼走员工的新套路,一次就见效
  11. 关闭迅雷首页播放视频的方法
  12. hp android 计算器,惠普图形计算器(HP Prime Graphing Calculator)
  13. roundcube邮箱手机端_企业邮箱申请后如何登录
  14. c语言内部函数与,内函数和外函数关系 有关C语言的内部函数和外部函数的定义说明...
  15. NPDP知识推送-第一章新产品开发战略(1)
  16. 什么是面向对象、面向过程?
  17. 一文读懂云渲染“串流”全链路时延及优化策略
  18. React-native实现联系人列表分组组件
  19. VS2017序列号|Visual Studio 2017 激活码 序列号
  20. U盘有问题,主控型号: SM3257ENLT

热门文章

  1. 记录一下自己的头脑风暴
  2. hdu 1279 验证角谷猜想(简单的模拟)
  3. WORD问题及技巧记录1——Word数学公式对齐显示不全
  4. 嵌入式开发板bmp图片显示
  5. 2021-2027全球与中国台式X射线衍射仪市场现状及未来发展趋势
  6. Chrome手机调试模式
  7. asymptote 中使用中文
  8. c15语言中不支持十六进制的数据,浙江省普通高中2017学考选考(16年10月)信息技术试卷及答案解析...
  9. 移动APP测试の学习(2)
  10. C++期末考试复习一