Python数据可视化------动态柱状图

一、基础柱状图

# 基础柱状图
# 导包
from pyecharts.charts import Bar
from pyecharts.options import *# 构建柱状图
bar = Bar()
# 添加数据(列表)
x_list = ["张三", "李四", "王五", "赵六"]
y_list = [50, 40, 60, 64]
bar.add_xaxis(x_list)
bar.add_yaxis("年龄", y_list)
# 设置全局配置# 绘图
bar.render()

# 导包
from pyecharts.charts import Bar
from pyecharts.options import *# 构建柱状图
bar = Bar()
# 添加数据(列表)
x_list = ["张三", "李四", "王五", "赵六"]
y_list = [50, 40, 60, 64]
bar.add_xaxis(x_list)
bar.add_yaxis("年龄", y_list, label_opts=LabelOpts(position="right"))  # 数值标签在右侧
# 反转xy轴
bar.reversal_axis()
# 绘图
bar.render()

 二、动态柱状图 (以gdp变化为例)

1、数据排序

#数据准备
my_list=[["a",33],["b",22],["c",11]]
#一、定义函数使用
def choose_sort_key(element):return element[1]
my_list.sort(key=choose_sort_key,reverse=True)#true降序
print(my_list)
#二、匿名函数
my_list.sort(key=lambda element:element[1],reverse=True)
print(my_list)

2、绘图

from pyecharts.charts import Bar, Timeline
from pyecharts.globals import ThemeType
from pyecharts.options import LabelOpts, TitleOpts# 读取文件
f = open("C:\Users\33376\Desktop\1960-2019全球GDP数据.csv", "r",encoding="GB2312")
data_lines = f.readlines()
# 关闭文件
f.close()
# 删除第一条数据
data_lines.pop(0)
# 将数据转换为字典
data_dict = {}
for line in data_dict:year = int(line.split(",")[0])  # 年份country = line.split(",")[1]  # 国家gdp = float(line.split(",")[2])  # gdp有科学计数法用float转换try:data_dict[year].append([country, gdp])  # 将年份的国家gdp放一起except KeyError:data_dict[year] = []data_dict[year].append([country, gdp])
# 创建时间线
timeline = Timeline({"theme": ThemeType.LIGHT})
# 排序年份
sorted_year_list = sorted(data_dict.keys())
for year in sorted_year_list:data_dict[year].sort(key=lambda element: element[1], reverse=True)  # 以gdp排序# 取出每年前八国家year_data = data_dict[year][0 - 8]  # 通过年份取得国家极其gdpx_data = []y_data = []for country_gdp in year_data:x_data.append(country_gdp[0])  # 取出国家y_data.append(country_gdp[1] / 100000000)  # 取出gdp# 构建柱状图bar = Bar()x_data.reverse()y_data.reverse()bar.add_xaxis(x_data)bar.add_yaxis("GDP(亿)", year_data, label_opts=LabelOpts(position="right"))# 反转x轴y轴bar.reversal_axis()#设置每一年标题bar.set_global_opts(title_opts=TitleOpts(title=f"{year}年全球gdp前8数据"))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")

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

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

相关文章

你的生产车间有个好“布局”吗?

对于生产车间而言,科学合理的布局设计便是这“成功的一半”。在现代制造环境中,高效的物流动线、合理的设备配置、以及人性化的工作环境,是提升生产效率、保障产品质量的关键。 一个好布局的生产车间需具备以下几个关键特征,以确保…

【ADRC笔记】LESO-Wb

公式推导(bilibili) 一阶ESO 二阶ESO 二阶自抗扰控制器基本原理 选取状态变量 观测器收敛性推导 wo 观测器带宽

【ubuntu 网卡混杂模式设置】

ubuntu 网卡混杂模式设置 在 ubuntu上设置混杂模式确保防火墙允许混杂模式检查网卡是否已设置为混杂模式使用 ifconfig使用 ethtool使用 ip link 在 ubuntu上设置混杂模式 本文介绍在Ubuntu系统上查看网卡是否是混杂模式,以及设置混杂模式。 确保防火墙允许混杂模…

数据结构(下)复习

一丶数据结构概述 1.数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的关系和运算等的学科。 2.基本数据结构,从逻辑上可分为线性结构和非线性结构,大体上可分成表结构、树结构、图结构 和散结构4大类 表结构用于表示结点的…

Java 滑动时间窗口统计接口调用次数

Java 滑动时间窗口统计接口调用次数 在分布式系统中,接口调用次数的监控是一个非常重要的任务。它可以帮助我们了解系统的负载情况,及时发现性能瓶颈,以及为系统扩容提供依据。在这篇文章中,我们将讨论如何使用 Java 实现滑动时间…

科普文:百度交易中台之订单系统架构浅析

百度交易中台作为集团移动生态战略的基础设施,面向收银交易与清分结算场景,为赋能业务提供高效交易生态搭建。目前支持百度体系内多个产品线,主要包含:小程序,地图打车,百家号,招财猫&#xff0…

算法题目整合

文章目录 121. 小红的区间翻转142. 两个字符串的最小 ASCII 删除总和143. 最长同值路径139.完美数140. 可爱串141. 好二叉树 121. 小红的区间翻转 小红拿到了两个长度为 n 的数组 a 和 b,她仅可以执行一次以下翻转操作:选择a数组中的一个区间[i, j]&…

自然语言处理基础【1】词嵌入

词嵌入(Word Embedding) 词嵌入(Word Embedding)是一种自然语言处理技术,用于将词语或短语转换为实数向量,以便机器能够理解和处理语言。它通过捕捉词语之间的语义和语法关系,能够在高维空间中…

企业微信PC版应用跳转到默认浏览器,避坑指南,欢迎补充(Vue项目版)。。。

引子 关于企业微信PC版应用跳转到默认浏览器,我之前写过一篇文章:企业微信PC版应用跳转到默认浏览器,避坑指南,欢迎补充。。。 以前的文章里用的前后端一体的Jsp项目,这次我使用的是前后端分离的Vue项目,…

使用Event Sourcing模式管理应用状态

在现代软件开发中,应用状态的管理是一个复杂且关键的问题。传统的CRUD(创建、读取、更新、删除)模型在处理复杂业务逻辑时可能会遇到瓶颈。Event Sourcing(事件溯源)模式提供了一种新的方法,通过记录所有状…

C语言 通讯录管理 完整代码

这份代码,是我从网上找的。目前是能运行。我正在读。有些不懂的地方,等下再记录下来。 有些地方的命名,还需要重新写一下。 比如: PersonInfo* info &address_book->all_address[address_book->size]; 应该改为: Perso…

使用SpringCloud搭建分布式配置中心

在现代的分布式系统中,配置管理是一个非常重要的组成部分。传统的做法是将配置文件放在每个服务的本地进行配置,这样的做法在规模较小的系统中还能够接受,但是当系统规模逐渐扩大时,配置管理将变得非常困难,容易出错。…

QT--文件操作和文件读写

文件操作和文件读写 QFile 类用于对文件进行操作,它继承自 QIODevice,可以进行读写操作。主要用于打开、关闭、读取、写入和管理文件。 1. 首先要指定文件路径 QFile fn(“文件路径”);也可以通过文件对话框来选择文件getOpenFileName 函数原型 QStr…

怎么降低美国服务器硬盘故障率?

要降低硬盘故障率,首先需要了解其产生的原因,常见的美国服务器硬盘故障原因包括温度过高、振动过大、电流不稳定、质量问题等。对于美国服务器而言,由于其运行环境可能存在差异,如温湿度变化大、电力供应不稳定等,这些…

部署Mojo模型:生产环境中的智能自动化

部署Mojo模型:生产环境中的智能自动化 在机器学习项目的生命周期中,模型的部署是一个至关重要的环节。Mojo模型,作为H2O.ai提供的一种模型导出格式,允许开发者将训练好的模型轻松部署到生产环境中。本文将详细介绍如何在生产环境…

【大数据面试题】37 Doris 是怎么保证性能的?

一步一个脚印,一天一道大数据面试题 博主希望能够得到大家的点赞收藏支持!非常感谢 点赞,收藏是情分,不点是本分。祝你身体健康,事事顺心! Doris 是当下大热的 MPP 数据库,下面来聊聊它如何保证…

AGI 之 【Hugging Face】 的【零样本和少样本学习】之一 [构建标记任务] / [ 基线模型 ] 的简单整理

AGI 之 【Hugging Face】 的【零样本和少样本学习】之一 [构建标记任务] / [ 基线模型 ] 的简单整理 目录 AGI 之 【Hugging Face】 的【零样本和少样本学习】之一 [构建标记任务] / [ 基线模型 ] 的简单整理 一、简单介绍 二、零样本学习 (Zero-shot Learning) 和少样本学习…

字符大全(架构师都不知道的秘密)

序号Shell特殊字符具体解释具体示例注解1$变量替换echo $UID输出当前用户的UID2&后台运行ls &将ls命令放入后台执行3;命令分隔符echo Hello; echo World依次执行多个命令4|管道ls | grep filename将ls命令的输出作为grep命令的输入5>输出重定向echo Hello > file…

【博主推荐】HTML5实现简洁的实用的个人网站、个人主页七个页面源码

文章目录 1.设计来源1.1 个人主页界面1.2 关于我界面1.3 我的技能界面1.4 我的经验界面1.5 我的教育界面1.6 我的项目界面1.7 联系我界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 作者:…

ipsec协议簇(详解)

IPSEC协议簇 IPSEC协议簇 --- 基于网络层的,应用密码学的安全通信协议组 IPV6中,IPSEC是要求强制使用的,但是,IPV4中作为可选项使用 IPSEC可以提供的安全服务 机密性 --- 数据加密 完整性 --- 防篡改可用性 数据源鉴别 -- 身份…