当前位置: 首页 > news >正文

2024.5.26.python.exercise

# # 导入包
# from pyecharts.charts import Bar, Timeline
# from pyecharts.options import LabelOpts, TitleOpts
# from pyecharts.globals import ThemeType
#
# # 从文件中读取信息
# GDP_file = open("1960-2019全球GDP数据.csv", "r", encoding="GB2312")
# GDP_data = GDP_file.readlines()
#
# # 关闭文件
# GDP_file.close()
#
# # 规整文件
# GDP_data.pop(0)
#
# # 定义一个字典来存文件
# GDP_dict = {}
# for line_data in GDP_data:
#     GDP_year = int(line_data.split(",")[0])
#     GDP_country = line_data.split(",")[1]
#     GDP = float(line_data.split(",")[2])
#     try:
#         GDP_dict[GDP_year].append([GDP_country, GDP])
#     except KeyError:
#         GDP_dict[GDP_year] = []
#         GDP_dict[GDP_year].append([GDP_country, GDP])
#
# # 创建时间线(并且设置其主题)
# GDP_line = Timeline({"theme": ThemeType.ROMA})
#
# # 排序数据对象
# sort_years = sorted(GDP_dict.keys())
#
# for year in GDP_dict:
#     GDP_dict[year].sort(key=lambda element: element[1], reverse=True)
#     year_data = GDP_dict[year][:8:]
#     x_data = []
#     y_data = []
#     # 为x,y准备数据
#     for country_data in year_data:
#         x_data.append(country_data[0])
#         y_data.append(country_data[1] / 100000000)
#     # 建立柱状图
#     GDP_bar = Bar()
#     x_data.reverse()
#     y_data.reverse()
#     GDP_bar.add_xaxis(x_data)
#     GDP_bar.add_yaxis("GDP(亿)", y_data, label_opts=LabelOpts(position="right"))
#
#     # 反转x-y轴
#     GDP_bar.reversal_axis()
#
#     # 设置每一年的标题
#     GDP_bar.set_global_opts(
#         title_opts=TitleOpts(title=f"{year}年全球前八国家的GDP")
#     )
#
#     # 创建时间线
#     GDP_line.add(GDP_bar, str(year))
#
# # 调整时间轴播放
# GDP_line.add_schema(
#     play_interval=3000,  # 时间移动的时间
#     is_timeline_show=True,  # 展示时间线
#     is_auto_play=True,  # 自动播放
#     is_loop_play=True  # 循环播放
# )
#
# # 生成柱状图
# GDP_line.render("1960-2019年全球GDP top8变化图(new).html")# 导入包
from pyecharts.charts import Bar, Timeline
from pyecharts.options import LabelOpts, TitleOpts
from pyecharts.globals import ThemeType# 从文件中得到GDP数据
GDP_file = open("1960-2019全球GDP数据.csv", "r", encoding="GB2312")
GDP_data = GDP_file.readlines()# 关闭文件
GDP_file.close()# 规整数据
GDP_data.pop(0)# 创建GDP字典,便于读数据
GDP_dict = {}# 为字典读数据
for line in GDP_data:year = int(line.split(",")[0])  # 得到年份数据country = line.split(",")[1]  # 得到国家数据GDP = float(line.split(",")[2])  # 得到GDP数据# 每一年的第一个数据进入字典的时候是没有列表的,所以说要先try一下try:GDP_dict[year].append([country, GDP])  # 假如列表已经存在,则可以直接appendexcept KeyError:GDP_dict[year] = []  # 假如列表不存在,则先创造再添加GDP_dict[year].append([country, GDP])# 排序年份
sort_year = sorted(GDP_dict.keys())# 创建时间线(并且对其进行初始设置)
GDP_timeline = Timeline({"theme": ThemeType.CHALK})# 准备创造柱状图
for year in GDP_dict:GDP_dict[year].sort(key=lambda element: element[1], reverse=True)year_data = GDP_dict[year][:8:]x_data = []y_data = []for country in year_data:x_data.append(country[0])y_data.append(country[1] / 100000000)# 创建柱状图GDP_bar = Bar()x_data.reverse()y_data.reverse()GDP_bar.add_xaxis(x_data)GDP_bar.add_yaxis("GDP(亿)", y_data, label_opts=LabelOpts(position="right"))# 反转x-y轴GDP_bar.reversal_axis()# 设置每年的标题GDP_bar.set_global_opts(title_opts=TitleOpts(title=f"{year}年全球GDP排名前八国家"))# 时间线增加GDP_timeline.add(GDP_bar, str(year))# 设置时间线
GDP_timeline.add_schema(play_interval=3000,  # 时间移动的时间is_timeline_show=True,  # 展示时间线is_auto_play=True,  # 自动播放is_loop_play=True  # 循环播放
)# 生成柱状图
GDP_timeline.render("1960-2019年全球GDP top8变化图(mine).html")

相关文章:

  • pod 之资源限制 与健康检查
  • Vue项目中npm run build 卡住不执行的几种情况(实战版)
  • P2118 [NOIP2014 普及组] 比例简化
  • Spring从零开始学使用系列(四)之@PostConstruct和@PreDestroy注解的使用
  • 化学中的不确定性。
  • 人工智能+量子计算:飞跃现实边界还是科技幻想?
  • java网络:过滤器修改请求头
  • 一、Elasticsearch介绍与部署
  • 【知识拓展】LocalTunnel-高性价比的内网穿透工具(2)
  • matplotlib latex表格
  • 每日一题---有效的括号问题
  • 双指针用法练习题(2024/5/26)
  • 通过unsplash引入图片素材
  • 小程序的深层了解
  • React 如何自定义 Hooks
  • [译]CSS 居中(Center)方法大合集
  • 0基础学习移动端适配
  • ECMAScript6(0):ES6简明参考手册
  • iOS 颜色设置看我就够了
  • JavaScript HTML DOM
  • Java编程基础24——递归练习
  • java小心机(3)| 浅析finalize()
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • mysql_config not found
  • mysql常用命令汇总
  • Nacos系列:Nacos的Java SDK使用
  • nfs客户端进程变D,延伸linux的lock
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 阿里云购买磁盘后挂载
  • 编写符合Python风格的对象
  • 技术:超级实用的电脑小技巧
  • 设计模式走一遍---观察者模式
  • 在weex里面使用chart图表
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #Linux(make工具和makefile文件以及makefile语法)
  • #QT(串口助手-界面)
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (七)glDrawArry绘制
  • (七)Java对象在Hibernate持久化层的状态
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (三)c52学习之旅-点亮LED灯
  • (十)T检验-第一部分
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)socket Aio demo
  • (总结)(2)编译ORB_SLAM2遇到的错误
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。