当前位置: 首页 > 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")

相关文章:

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&quo…...

代码随想录-Day20

654. 最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums…...

揭秘C++ String容器:字符串操作的艺术

目录 ​编辑 引言 一、初识std::string:构造与初始化 二、字符串的操纵艺术:拼接、查找与替换 三、访问与遍历:字符的细腻触感 四、大小与容量:动态调整的智慧 五、进阶功能:探索更多可能 结语 引言 在C标准库…...

【C++】牛客 ——DP36 abb

✨题目链接: DP36 abb ✨题目描述 leafee 最近爱上了 abb 型语句,比如“叠词词”、“恶心心” leafee 拿到了一个只含有小写字母的字符串,她想知道有多少个 "abb" 型的子序列? 定义: abb 型字符串满足以下…...

SpringBoot如何实现跨域?

定义一个配置类,实现WebMvcConfigurer接口,重写addCorsMappings方法 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allow…...

SW 草图偏移 先预选

因为有些不能用链全部选,可以先框选要偏移的,再点偏移命令...

5.23 Linux中超时检测方式+模拟面试

1.IO多路复用的原理? IO多路复用使得一个或少量线程资源处理多个连接的IO事件的技术。对于要处理的多个阻塞的IO操作,建立集合并存储它们的文件描述符,利用单个阻塞函数去监控集合中文件描述符事件到达的情况,(如果到…...

MySQL数据表索引命名规范

在数据库设计和开发过程中,索引是提高查询性能的重要工具。合理的索引命名规范不仅能提高代码的可读性,还能便于维护和管理。本文将详细介绍MySQL数据表索引的命名规范,包括不同类型索引的命名方法,并提供多个代码示例以说明如何命…...

python内置函数map/filter/reduce详解

在Python中,map(), filter(), 和 reduce() 是内置的高级函数(实际是class),用于处理可迭代对象(如列表、元组等)的元素。这些函数通常与lambda函数一起使用,以简洁地表达常见的操作。下面我将分别解释这三个函数。 1. …...

PICO VR眼镜定制播放器使用说明文档videoplayerlib-ToB.apk

安装高级定制播放器 高级定制播放器下载地址:https://download.csdn.net/download/ahphong/89360454 仅限用于PICO G2、G3、G4、NEO系列VR眼镜上使用, 用途:用于第三方APP(开发者)调用定制播放器播放2D、3D、180、360全景视频。 VR眼镜系统请升级到最新版,可在官网下载,…...

基于51单片机的超声波液位测量与控制系统

基于51单片机液位控制器 (仿真+程序+原理图PCB+设计报告) 功能介绍 具体功能: 1.使用HC-SR04测量液位,LCD1602显示; 2.当水位高于设定上限的时候,对应声光报警报警&am…...

详细分析Element中的MessageBox基本知识(附Demo)

目录 前言1. 基本知识2. Demo2.1 确认框2.2 警告框2.3 对话框 3. this.$confirm 前言 详细知识推荐阅读:详细分析Element Plus中的ElMessageBox弹窗用法(附Demo及模版) MessageBox则常用于Vue2 1. 基本知识 MessageBox 是 Element UI 提供…...

音视频开发8 音视频中SDL的使用,SDL 在windows上环境搭建,SDL 使用 以及 常用 API说明,show YUV and play PCM

1.SDL简介 SDL(Simple DirectMedia Layer),是一个跨平台的C语言多媒体开发库。 支持Windows、Mac OS X、Linux、iOS、Android 提供对音频、键盘、鼠标、游戏操纵杆、图形硬件的底层访问 很多的视频播放软件、模拟器、受欢迎的游戏都在使用…...

P1003 [NOIP2011 提高组] 铺地毯

题目传送门&#xff1a; P1003 [NOIP2011 提高组] 铺地毯 AC代码&#xff1a; #include<bits/stdc.h>using namespace std;int a[10005],b[10005],g[10005],k[10004];int main() {int n,x,y;cin>>n;for(int i1;i<n;i) cin>>a[i]>>b[i]>>g[…...

C语言学习笔记之指针(一)

目录 什么是指针&#xff1f; 指针和指针类型 指针的类型 指针类型的意义 指针-整数 指针的解引用 指针 - 指针 指针的关系运算 野指针 什么是野指针&#xff1f; 野指针的成因 如何规避野指针&#xff1f; 二级指针 什么是指针&#xff1f; 在介绍指针之前&#…...

化学中的不确定性。

化学中的不确定性TOC 基于元素分析的无机化学的理论大厦应该说早已落成了&#xff0c;但是却仍然存在着一些列的难解甚至是无解问题&#xff0c;这些大多是在使用理论解释现象时遇到的困难&#xff0c;有些则是在生产实践中生产工艺和生产工序设计和优化中发现的问题。于是&…...

AWS容器之Fargate

AWS Fargate是亚马逊提供的一种容器管理服务&#xff0c;它允许开发人员在AWS云中轻松运行容器化应用程序&#xff0c;而无需管理底层的服务器基础架构。Fargate可以自动管理容器的部署、扩展和负载平衡&#xff0c;并提供了与ECS和EKS等AWS容器服务集成的能力。适用于容器的无…...

C#面:DataReader与Dataset有什么区别

C#中的DataReader和DataSet都是用于处理数据的类&#xff0c;但它们有一些区别。 DataReader是一种轻量级的只进只读数据流&#xff0c;用于从数据库中检索数据。它是一种快速且高效的数据访问方式&#xff0c;适用于大量数据的读取。DataReader一次只能读取一行数据&#xff…...

操作系统课程实验1-进程调度模拟实验

操作系统课程实验1-进程调度模拟实验 一、实验介绍 1.1 实验目的 本实验模拟在单处理机环境下的处理机调度&#xff0c;帮助理解进程调度的概念&#xff0c;深入了解进程控制块的功能&#xff0c;以及进程的创建、撤销和进程各个状态间的转换过程。 1.2 实验内容 进程调度算…...

JVM CMS 在Full GC时针对跨代引用的优化

个人博客 JVM CMS 在Full GC时针对跨代引用的优化 | iwts’s blog 跨代引用问题 Full GC慢的一个很重要的问题&#xff1a;跨代引用。 简单描述就是&#xff1a; 现代JVM一般是根据对象存活的特性进行了分代&#xff0c;提高了垃圾收集的效率。但是像在回收新生代的时候&a…...

飞腾D2000/FT2000全国产化标准COMe模块

板贴DDR4&#xff0c;有8GB 16GB 32GB等容量&#xff0c;标准type6 COMe模块&#xff0c;有少量现货。...

YOLOv13 前瞻:YOLO 最新改进方向与模块预测(独家分析)

YOLOv13 真的来了吗&#xff1f;如果来了&#xff0c;它会是什么样子&#xff1f; 这是2026年以来&#xff0c;目标检测圈里最热的一个话题。根据 CSDN 社区 2026 年 1-3 月的讨论热度统计&#xff0c;“YOLOv13”相关关键词的搜索量在短短三个月内增长了近 5 倍&#xff0c;开…...

MelonLoader终极指南:解锁Unity游戏的双引擎插件加载能力

MelonLoader终极指南&#xff1a;解锁Unity游戏的双引擎插件加载能力 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader MelonLoad…...

【基于Python技术的智慧中医商业项目】后端应用Articles代码实现(四)

后台文章接口一旦缺少统一的权限边界与查询约束,常见风险集中在未审核内容被暴露、分页与筛选口径不一致、详情阅读数更新链路出错,表现为列表数据异常、详情访问抖动、统计数据不可信。 内容围绕文章应用的 views 与 urls 两段链路拆解,聚焦分页与筛选参数、只读视图集的查…...

用Flask+手机5分钟搭建临时测试服务器(Windows/Mac双平台教程)

5分钟搭建Flask移动端测试服务器&#xff1a;Windows与Mac双平台实战指南 每次在手机上预览网页效果都要反复上传到测试服务器&#xff1f;其实你的笔记本就能变身临时测试服务器。作为移动端开发者&#xff0c;我们经常需要快速验证页面在手机上的显示效果&#xff0c;而Flask…...

人脸识别OOD模型真实效果:会议直播截图中关键人物人脸的OOD分标注集

人脸识别OOD模型真实效果&#xff1a;会议直播截图中关键人物人脸的OOD分标注集 1. 引言&#xff1a;为什么需要人脸识别OOD模型&#xff1f; 在日常的人脸识别应用中&#xff0c;我们经常会遇到这样的问题&#xff1a;上传的图片质量参差不齐&#xff0c;有些图片模糊不清&a…...

关于 SSR,我承认我之前只是“会用”而已

SSR、Hydration 这些词在 Web 前端领域非常常见&#xff0c;开发者经常能接触到这个概念。但是&#xff0c;这些是什么&#xff1f;为什么&#xff1f;怎么用&#xff1f;过去我都没有深究下去&#xff0c;关于 SSR&#xff0c;我承认我之前只是“会用”而已。 一、区分 CSR 还…...

嵌入式轻量级RPC框架:串口远程调用与调试技术

1. RPC库技术解析&#xff1a;面向嵌入式系统的轻量级远程过程调用框架1.1 设计背景与工程定位RPC&#xff08;Remote Procedure Call&#xff09;在嵌入式系统中并非传统服务器场景下的高吞吐通信协议&#xff0c;而是一种面向调试、配置与现场维护的低带宽、高语义、强交互性…...

SolidWorks 2019 + Fusion 360:手把手教你搞定复杂机械臂模型的URDF导出(附开源模型)

SolidWorks与Fusion 360协同工作流&#xff1a;机械臂模型URDF导出实战指南 当你在GitHub上发现一个设计精良的六轴机械臂模型&#xff0c;却因为格式兼容性问题无法直接使用时&#xff0c;这种挫败感每个机器人开发者都深有体会。上周我就遇到了这样的情况——一个基于Gluon架…...

基于Python的IT行业岗位数据分析与可视化

摘要本文设计并实现了一个基于Python的IT行业岗位数据分析与可视化。随着信息技术的快速发展&#xff0c;数据分析和可视化技术在各个领域得到了广泛应用。本研究以IT行业招聘数据为研究对象&#xff0c;采用Python等技术&#xff0c;构建了一个功能完善的数据分析与可视化系统…...