python语法-数据可视化(全球GDP动态柱状图开发)

news2024/10/7 15:25:48

python数据可视化(全球GDP动态柱状图开发)
开发工具:pycharm、pyecharts模块

(项目数据见文末参考内容)

"""
演示GDP动态柱状图开发
"""


from pyecharts.charts import Bar,Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType

# 读取数据
f = open("资料/资料/可视化案例数据/动态柱状图数据/1960-2019全球GDP数据.csv", "r", encoding="GB2312")
data_lines = f.readlines()
# 关闭文件
f.close()
# 删除第一条数据
data_lines.pop(0)


# 将数据转换为字典存储,格式为:
# {1960:[[美国,123],[中国,321],......],1961:[[美国,123],[中国,321],......]...}
# 先定义一个字典,将数据按格式存储字典对象内部
data_dict = {}
for line in data_lines:
    year = int(line.split(",")[0])  # 年份
    country = line.split(",")[1]    # 国家
    gdp = float(line.split(",")[2]) # gdp数据
    try:                            # 如果字典有该年份的列表元素,则追加,否则创建一个空的再追加
        data_dict[year].append([country, gdp])
    except KeyError:
        data_dict[year] = []
        data_dict[year].append([country, gdp])


# 创建时间线对象
timeline = Timeline({"theme":ThemeType.LIGHT})


# 排序年份
# for循环每一年的数据,基于每一年的数据,创建每一年的bar对象
# 在for中,将每一年的bar对象添加到时间线中
sorted_year_list = sorted(data_dict.keys())
for year in sorted_year_list:
    data_dict[year].sort(key = lambda element:element[1], reverse=True)
    # 取出本年份Top8的国家的数据
    year_data = data_dict[year][0:8]
    x_data = []
    y_data = []
    for country_gdp in year_data:
        x_data.append(country_gdp[0])   # x轴添加国家
        y_data.append(country_gdp[1])   # y轴添加gdp数据

    # 构建柱状图
    bar = Bar()
    x_data.reverse()
    y_data.reverse()
    bar.add_xaxis(x_data)
    bar.add_yaxis("GDP(亿)", y_data, label_opts=LabelOpts(position="right"))
    # 反转x轴和y轴
    bar.reversal_axis()
    # 设置每一年的图表的标题
    bar.set_global_opts(
        title_opts=TitleOpts(title=f"{year}年全球前8GDP数据")
    )
    timeline.add(bar, str(year))


# 设置时间线自动播放
timeline.add_schema(
    play_interval=1000,
    is_timeline_show=True,
    is_auto_play=True,
    is_loop_play=False
)


# 绘图
timeline.render("1960-2019全球GDP前8国家.html")

效果图如下(轮播1960-2019年的柱状图):
在这里插入图片描述

参考内容:
项目数据(https://mp.csdn.net/mp_download/manage/download/UpDetailed)
python语法-pyecharts
黑马程序员-python基础

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/632629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统运行时参数命令(性能监控、测试)(1)监控工具、CPU上下文切换、CPU性能监控

目录 1. 监控工具2. CPU性能监控2.1 平均负载和CPU使用率2.1.1 平均负载基础2.1.2 使用uptime命令分析平均负载2.1.3 平均负荷和CPU使用率 2.2 CPU上下文切换2.2.1 什么是CPU上下文切换2.2.2 有哪些上下文切换2.2.3 怎么查看上下文切换 vmstat2.3 遇到CPU使用率高该如何排查 主…

openGauss5.0之学习环境 Docker安装

文章目录 0.前言1. 准备软硬件安装环境1.1 软硬件环境要求1.2 修改操作系统配置1.2.1 关闭操作系统防火墙 1.3 设置字符集参数1.4 设置时区和时间(可选)关闭swap交换内存1.5 关闭RemoveIPC1.6 关闭HISTORY记录 2. 容器安装2. 1支持的架构和操作系统版本2…

大语言模型之人类反馈学习RLHF

在2017年左右,深度强化学习(Deep Reinforcement Learning)逐渐兴起并引起广泛关注。特别是在2017年6月,OpenAI与Google DeepMind联合推出了一项名为《Deep Reinforcement Learning from Human Preferences》(RLHF&…

chatgpt赋能python:Python如何判断整数

Python如何判断整数 Python是一个简单易学的编程语言,但是对于初学者来说,判断整数可能会有一些困难。在本文中,将介绍Python如何判断整数,并提供一些示例帮助您更好地理解。 如何判断整数 在Python中,判断整数可以…

Skywalking环境搭建

Skywalking环境搭建 elasticsearch环境搭建Skywalking环境搭建 elasticsearch环境搭建 接下来我们在虚拟机CentOS中搭建Skywalking的可观测性分析平台OAP环境。Skywalking默认使用H2内存进行数据的存储,我们可以替换存储源为ElasticSearch保证其查询的高效及可用性…

运行后端SpringBoot项目

目录 一、注册微信开发者账号 1. 注册开发者账号 2. 获取appid和密钥 二、开通腾讯云TRTC服务 1. TRTC业务介绍 2. 为什么不使用阿里云的实时音视频服务,偏要选用腾讯云TRTC服务? 3. 开通TRTC服务 4. 领取TRTC的AppID和密钥 三、导入 emos-api …

Geant4安装记录,15.5.0VMware + 11.0.0G4 + 18..04.1 ubuntu

仅仅是记录学习使用,有问题请联系 Geant4安装前准备 (1)安装虚拟机, VMware 15.5 (2)在虚拟机上安装ubuntu 以上两个步骤在网上有很多教程,安装很简单,大家自行安装即可 这里记录…

【前端验证】通关寄存器与ral_model —— 25种常用寄存器类型全览

寄存器的属性分类 本文档对于寄存器的属性以synopsys相关文档以及ral_model生成模型时的识别方式为基准。通常讲可以归纳为以下三个方面:读写属性read-write access、写后值modified write value、读后操作read action。注意,这里指的都是软件的操作&am…

chatgpt赋能python:Python怎么升序排序

Python怎么升序排序 排序是我们经常会用到的一种操作,而在Python中,对于列表或数组等序列类型的数据,我们可以使用内置的sorted()函数来进行排序操作。而在排序时,升序排序是我们最常用的一种。 Python中的sorted()函数 sorted…

关于uni-app与vue路由配置的不同,不使用uni.navigateTo接口跳转时,使用this.$router.push的踩坑经验

目录 懵逼的一个小时 uni-app与vue路由配置的不同 非官方接口的另类写法 错误编写: 正确编写(只需写父组件即可,其他是多余): 懵逼的一个小时 之前用vue写router路由的时候,先配置一个路由表&am…

chatgpt赋能python:Python怎么删除列表中的最大值和最小值

Python怎么删除列表中的最大值和最小值 在Python中,一个列表(List)是一种非常常见的数据结构,它允许我们以有序的方式存储和访问数据。但是,有时候我们需要从列表中删除最大或最小的值,以满足我们的特定需…

哈希表原理,以及unordered_set/和unordered_map的封装和迭代器的实现

哈希表 unordered系列unordered_set和unordered_map的使用哈希哈希概念哈希冲突哈希函数闭散列开散列哈希表的扩容哈希表源码(开散列和闭散列) 封装unordered_set/和unordered_map,以及实现迭代器节点定义unordered_set定义unordered_map定义…

Python3 flask-socketio 整合vue

1. 前端说明 前端追加了vue-socket.io的依赖 更新package.json及package-lock.json后,需要补充库 2. 后端说明 服务端需要安装的python包 suse python 3.6.12 Flask_SocketIO-4.3.1-py2.py3-none-any.whl python_socketio-4.6.0-py2.py3-none-any.whl python_…

在PPT里如何做出晶莹剔透的高级水泡感出来呢

开篇 很多PPT特别是一些TED演讲类PPT,它的首页开篇给人以强烈的冲击感。比如说上面这张PPT,笔者就卖出过一页800元的效果。它的高级高级在以下两个地方: 水晶感;透明感这是时下非常流行的一种TED场景式演讲专用的PPT,适用于一些大厂的CTO、CEO都大量使用这种效果。 今天…

shell脚本编写辅助命令

目录 一、echo 命令 二、字符串相关操作 1.截取字符串 2.获取字符串长度 3.字符串追加字符 4.从开头或结尾删除字符串指定格式内容 三、随机数 1.使用 $RANDOM 2.指定RANDOM变量的范围 (1)从0开始的范围 (2)从指定数始…

35、git的使用

一、git简介 git是一款免费、开源的版本控制系统,用于高效地处理任何或大或小的项目。 作用: 文件存档备份 文件版本管理 多人协同合作(自动合并) 二、git的三个区域 工作区:处理工作的区域 暂存区:临时存放…

Shell脚本实现数组冒泡排序等简单算法排序

目录 一、冒泡排序 1.简介 2.基本思想 3.算法思路 4.shell脚本实现 二、选择排序 1.简介 2.基本思想 3.shell脚本实现 三、插入排序 1.算法思路 2.shell脚本实现 四、反转排序 1.作用 2.shell脚本实现 一、冒泡排序 1.简介 类似气泡上涌的动作,会将…

Java入门之学习随记(三)

一. 栈内存和堆内存 堆内存:存放"引用数据类型的数据"和"new出来的对象",注意-创建出来的对象只包含各自的成员变量,不包括成员方法. 栈内存:存放"基本数据类型的数据","引用数据类型的变量名"以及"对象的引用",但是引用数…

k8s之ReplicaSet回收pod的优先级

ReplicaSet syncReplicaSet的逻辑,首先找到rs下相关的pod // 从informer中获取当前ns下所有的podallPods, err : rsc.podLister.Pods(rs.Namespace).List(labels.Everything())if err ! nil {return err}// 忽略不健康的podfilteredPods : controller.FilterActiveP…

CentOS桥接模式下设置静态IP并解决java.net.ConnectException: Connection timed out: connect

一、前言 最近在配置服务器,DHCP模式下IP地址不固定,每次SSH远程登录连接不上,都要查看新动态分配的IP地址重新配置,感觉些许麻烦,于是给机器配置了静态固定IP。 动态主机配置协议DHCP(Dynamic Host Confi…