AI数据分析:根据时间序列数据生成动态条形图

news2024/11/23 22:43:54

动态条形竞赛图(Bar Chart Race)是一种通过动画展示分类数据随时间变化的可视化工具。它通过动态条形图的形式,展示不同类别在不同时间点的数据排名和变化情况。这种图表非常适合用来展示时间序列数据的变化,能够直观地显示数据随时间的演变过程。

制作动态条形竞赛图的方法有很多,其中一些常见的工具和库包括:

Highcharts:可以使用Highcharts库来创建动态条形竞赛图,利用其数据排序和动画功能。

Python:使用Matplotlib库可以轻松实现动态条形竞赛图。此外,还有专门的库如bar_chart_race,可以通过简单的代码实现动态条形图。

Flourish:这是一个无需编码的数据可视化平台,用户可以通过上传电子表格来创建动态条形竞赛图,并且有丰富的模板和示例可供参考。

Canva:Canva也提供了在线生成动态条形竞赛图的功能,用户可以选择模板并自定义设计。

这些工具和库各有特点,用户可以根据自己的需求和技术背景选择合适的工具来创建动态条形竞赛图。

工作任务:让下面这个Excel表格中的数据以条形图展示,并且是以时间序列来动态的展示;

Flourish等平台可以实现效果,但是需要付费。下面通过ChatGPT调用Python库bar_chart_race来免费实现。

在chatpgt中输入提示词:

你是一个Python编程专家,要写一个Python脚本,具体步骤如下:

读取Excel文件内容:"F:\AI自媒体内容\AI行业数据分析\toolify月榜\toolify2023年-2024年月排行榜汇总数据 - .xlsx"

Excel表格的A列为”AI应用”,B列到O列为”AI应用”在每个月份的网站访问月流量 ;

基于表中数据,做一个动态条形竞赛图(Bar Chart Race),逐月显示”AI应用”的网站访问月流量数据, 按照月份呈现动态变化,标出具体AI应用的名称,以mp4视频文件输出,保存到文件夹:F:\aivideo;

注意:每一步都要输出信息到屏幕上

设置字体为"simhei",解决中文显示问题

调整日期格式为 %Y年%m月,确保列名在转换前是字符串 ,使用 pd.to_datetime 函数,将列名转换为 datetime 对象

将 steps_per_period 的默认值(通常是10)调整为240,这样每个时间周期将包含更多帧,从而使动画速度减慢 。

每帧显示的毫秒数period_length设为4500(动画时长);

mp4视频的分辨率1080p,码率10Mbps以内,格式为MP4格式

源代码:

import pandas as pd

import matplotlib.pyplot as plt

import bar_chart_race as bcr

# 第一步:读取Excel文件

file_path = "F:\\AI自媒体内容\\AI行业数据分析\\toolify月榜\\toolify2023年-2024年月排行榜汇总数据 - .xlsx"

print(f"读取Excel文件: {file_path}")

data = pd.read_excel(file_path)

# 第二步:处理数据

print("处理数据...")

data.set_index('AI应用', inplace=True)

# 确保列名是字符串,以便转换

data.columns = data.columns.astype(str)

# 将列名转换为日期时间格式

data.columns = pd.to_datetime(data.columns, format='%Y年%m月')

# 转置DataFrame,以符合bar_chart_race要求的格式

data = data.T

# 第三步:设置中文字体

print("设置中文字体...")

plt.rcParams['font.sans-serif'] = ['SimHei']

# 第四步:创建动态条形图

output_path = "F:\\aivideo\\ai_app_traffic.mp4"

print(f"创建动态条形图并保存为: {output_path}")

bcr.bar_chart_race(

df=data,

filename=output_path,

orientation='h',

sort='desc',

label_bars=True,

figsize=(10, 6),

title='AI应用网站访问月流量每月变化情况(2023年1月到2024年4月)',

steps_per_period=240, # 调整动画速度,每个周期包含240帧

period_length=4500 # 每帧显示的毫秒数

)

print("脚本完成!")

https://weixin.qq.com/sph/A7T8f3FbM

这个动态条形竞赛图(Bar Chart Race)的相关文章《2023年的Top20 AI应用在近一年表现怎么样?》

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

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

相关文章

Vatee万腾平台:智能科技的领航者

随着科技的飞速发展,数字化转型已成为企业、行业乃至整个社会不可逆转的趋势。在这个变革的浪潮中,Vatee万腾平台凭借其卓越的技术实力、前瞻的战略眼光和卓越的服务品质,成为了智能科技的领航者。 Vatee万腾平台致力于为企业提供全方位的数字…

[Composer\Downloader\TransportException] 需要切换下载源

使用composer 下载时遇到问题: 如图 切换镜像源: /成阿里镜像: composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ //Laravel China镜像: composer config -g repo.packagist composer https:…

2024最新版DataGrip安装教程-全网最全教程!!!

1.DataGrip下载安装 1.打开DataGrip官网,选择自己需要的版本下载即可: 2.进行安装: 3.重启打开: 我这个是正版激活码激活的,需要教程可以关注留言

展厅装修时候需要注意哪些细节

1、视觉方面 展厅应该具有很强的视觉冲击力。只有这样不论是领导视察还是合作的客户进行参观的时候才会对展厅产生浓厚的兴趣,同时产生一种亲和力,并直接加深对企业的识别度和记忆度。而个性化设计要跟企业文化相符合。这里,企业标志为寻求个…

Python发送Email的性能怎么样?如何配置?

Python发送Email怎么配置SMTP?批发邮件的方法技巧? Python是一种广泛使用的编程语言,因其简洁和强大的功能深受开发者喜爱。在许多应用场景中,Python发送Email是一个常见需求。那么,Python发送Email的性能怎么样呢&am…

分支循环之案例实战

1.求水仙花数 求1000以内的水仙花数。水仙花是指&#xff0c;一个三位数&#xff0c;其各位数字的立方和等于该数本身 n 100 while n < 1000:i n % 10j n // 10 % 10k n // 100if n i**3j**3k**3:print(n)n 1 2.求兔子数 有一对兔子&#xff0c;从第三个月开始生一对…

U-Net for Image Segmentation

1.Unet for Image Segmentation 笔记来源&#xff1a;使用Pytorch搭建U-Net网络并基于DRIVE数据集训练(语义分割) 1.1 DoubleConv (Conv2dBatchNorm2dReLU) import torch import torch.nn as nn import torch.nn.functional as F# nn.Sequential 按照类定义的顺序去执行模型&…

宝藏APP推荐| 话唠 | 话唠APP

软件介绍 话唠是一款专为年轻人打造的语音交友软件&#xff0c;该软件有着非常多的高质量用户&#xff0c;在这里你可以找到任何感兴趣的人进行聊天&#xff0c;广泛交友&#xff0c;扩大自己的交际圈&#xff0c;还能在这里偶遇心动的TA&#xff0c;软件还为用户提供了非常多…

路由的params参数,命名路由,路由的params参数,命名路由

上篇我们讲了vue路由的使用 今天我们来讲vue中路由的嵌套&#xff0c;路由的params参数,命名路由 一.路由的params参数 1.配置路由规则&#xff0c;使用children配置项&#xff1a; router:[{path:/about,component:About,},{path:component:Home,//通过children配置子路由c…

以太坊==windows电脑本地搭建一个虚拟的以太坊环境

提供不同的选择&#xff0c;适合不同需求和技术水平的开发者&#xff1a; Geth&#xff1a;适合需要与主网兼容或构建私有网络的开发者。Ganache&#xff1a;适合快速开发和测试智能合约的开发者&#xff0c;特别是初学者。Docker&#xff1a;适合需要快速、可重复搭建环境的开…

高性能、高可靠性!Kafka的技术优势与应用场景全解析

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!​​​​​​​ 大家好,我是你们的小米,今天要和大家聊聊一个超级强大的消息系统——Kafka。很多同学可能对它还不太熟悉,不过没关系,今天我就带你们…

树和森林.

目录 一、树 1.1树的存储结构 1.1.1双亲表示法 1.1.2孩子链表 1.1.3孩子兄弟表示法 1.2树与二叉树的转换 1.2.1将树转换成二叉树&#xff1a; 1.2.2将二叉树转换成树 二、森林 2.1森林与二叉树的转换 2.1.1将森林转换成二叉树 2.1.2二叉树转换成森林 三、树和森林的…

找不到xinput1_3.dll如何修复?总结几种靠谱的修复方法

在数字时代&#xff0c;软件问题几乎是每个电脑用户都会遇到的难题。最近&#xff0c;我也遇到了一个令人头疼的问题——xinput1_3.dll文件丢失。这个问题导致我无法正常运行一些游戏&#xff0c;十分影响我的娱乐体验。通过这次修复经历&#xff0c;我不仅解决了问题&#xff…

FL论文专栏|设备异构、异步联邦

论文&#xff1a;Asynchronous Federated Optimization&#xff08;12th Annual Workshop on Optimization for Machine Learning&#xff09; 链接 实现Server的异步更新。每次Server广播全局Model的时候附带一个时间戳&#xff0c;Client跑完之后上传将时间戳和Model同时带回…

OAuth 2.0资源授权机制与安全风险分析

文章目录 前言OAuth2.01.1 OAuth应用1.2 OAuth基础1.3 授权码模式1.4 其它类模式1.5 openid连接 安全威胁2.1 隐式授权劫持2.2 CSRF攻击风险2.3 Url重定向漏洞2.4 scope校验缺陷 总结 前言 OAuth 全称为Open Authorization&#xff08;开放授权&#xff09;&#xff0c;OAuth …

[Qt] QtCreator编辑区关闭右侧不必要的警告提示

在代码编辑页面&#xff0c;右侧总会出现一些即时Waring&#xff0c;不想看见&#xff1f; 取消勾选插件管理中的ClangCodeModel 插件即可

基于肤色模型的人脸识别,基于野火FPGA ZYNQ开发板

使用芯片为ZYNQ—7020&#xff0c;基于野火FPGA ZYNQ开发板 肤色模型简介 YCrCb也称为YUV&#xff0c;主要用于优化彩色视频信号的传输。与RGB视频信号传输相比&#xff0c;它最大的优点在于只需占用极少的频宽&#xff08;RGB要求三个独立的视频信号同时传输&#xff09;。其…

【机器学习 复习】第4章 决策树算法(重点)

一、概念 1.原理看图&#xff0c;非常简单&#xff1a; &#xff08;1&#xff09;蓝的是节点&#xff0c;白的是分支&#xff08;条件&#xff0c;或者说是特征&#xff0c;属性&#xff0c;也可以直接写线上&#xff0c;看题目有没有要求&#xff09;&#xff0c; &#xff…

常见的8种排序(含代码):插入排序、冒泡排序、希尔排序、快速排序、简单选择排序、归并排序、堆排序、基数排序

时间复杂度O(n^2) 1、插入排序 (Insertion Sort) 从第一个元素开始&#xff0c;该元素可以认为已经被排序&#xff1b;取出下一个元素&#xff0c;在已经排序的元素序列中从后向前扫描&#xff1b;如果该元素&#xff08;已排序&#xff09;大于新元素&#xff0c;将该元素移到…

喂饭教程:AI生成100套Word题库阿里云百炼实训营

郭震原创&#xff0c;手撸码字187022张图 你好&#xff0c;我是郭震 1 实际需求 前段时间&#xff0c;有个关注我的粉丝联系我&#xff0c;是一位大学计算机女老师。 她想做一个二级考试题库&#xff0c;选择题实操题&#xff0c;最好100套以上&#xff0c;拿来给学生练手。 问…