数据可视化 - 动态柱状图

这篇具有很好参考价值的文章主要介绍了数据可视化 - 动态柱状图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基础柱状图

通过Bar构建基础柱状图

from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
# 使用Bar构建基础柱状图
bar = Bar()
# 添加X轴
bar.add_xaxis(["中国", "美国", "英国"])
# 添加Y轴  # 设置数值标签在右侧
bar.add_yaxis("GDP", [30, 50, 40], label_opts=LabelOpts(position="right"))
# 反转X轴和Y轴
bar.reversal_axis()
# 绘图
bar.render("基础柱状图.html")

数据可视化 - 动态柱状图,Python,windows,开发语言,python

1. 通过Bar()构建一个柱状图对象

2. 和折线图一样,通过add_xaxis()和add_yaxis()添加x和y轴数据

3. 通过柱状图对象的:reversal_axis(),反转x和y轴

4. 通过label_opts=LabelOpts(position="right")设置数值标签在右侧显示

基础时间线柱状图

创建时间线

Timeline()-时间线

柱状图描述的是分类数据,回答的是每一个分类中『有多少?』这个问题. 这是柱状图的主要特点,同时柱状图很难动态的描述一个趋势性的数据. 这里pyecharts为我们提供了一种解决方案-时间线

如果说一个Bar、Line对象是一张图表的话,时间线就是创建一个 一维的x轴,轴上每一个点就是一个图表对象

数据可视化 - 动态柱状图,Python,windows,开发语言,python

# 导入bar柱状图 Timeline时间线
from pyecharts.charts import Bar, Timeline
# 导入系统配置项
from pyecharts.options import LabelOpts
# 导入ThemeType主题类型
from pyecharts.globals import ThemeType
# 使用Bar构建基础柱状图
bar1 = Bar()
# 添加X轴
bar1.add_xaxis(["中国", "美国", "英国"])
# 添加Y轴
bar1.add_yaxis("GDP", [30, 50, 40], label_opts=LabelOpts(position="right"))


bar2 = Bar()
bar2.add_xaxis(["中国", "美国", "英国"])
bar2.add_yaxis("GDP", [40, 40, 20], label_opts=LabelOpts(position="right"))

bar3 = Bar()
bar3.add_xaxis(["中国", "美国", "英国"])
bar3.add_yaxis("GDP", [50, 30, 30], label_opts=LabelOpts(position="right"))

bar4 = Bar()
bar4.add_xaxis(["中国", "美国", "英国"])
bar4.add_yaxis("GDP", [60, 20, 50], label_opts=LabelOpts(position="right"))

# 构建时间线对象
timeline = Timeline({"theme": ThemeType.LIGHT})     # 主题设置
# 在时间线内部添加柱状图对象
timeline.add(bar1, "点1")
timeline.add(bar2, "点2")
timeline.add(bar3, "点3")
timeline.add(bar4, "点4")

自动播放 

timeline.add_schema(
    play_interval=1000,         # 自动播放的时间间隔,单位毫秒
    is_timeline_show=True,      # 是否在自动播放的时候显示时间线
    is_auto_play=True,          # 是否自动播放
    is_loop_play=True           # 是否循环自动播放
)

 时间线设置主题

from pyecharts.globals import ThemeType

timeline = Timeline({"theme": ThemeType.LIGHT})     # 主题设置

数据可视化 - 动态柱状图,Python,windows,开发语言,python

 完整代码

"""
    基础时间线柱状图
"""
# 导入bar柱状图 Timeline时间线
from pyecharts.charts import Bar, Timeline
# 导入系统配置项
from pyecharts.options import LabelOpts
# 导入ThemeType主题类型
from pyecharts.globals import ThemeType
# 使用Bar构建基础柱状图
bar1 = Bar()
# 添加X轴
bar1.add_xaxis(["中国", "美国", "英国"])
# 添加Y轴
bar1.add_yaxis("GDP", [30, 50, 40], label_opts=LabelOpts(position="right"))


bar2 = Bar()
bar2.add_xaxis(["中国", "美国", "英国"])
bar2.add_yaxis("GDP", [40, 40, 20], label_opts=LabelOpts(position="right"))

bar3 = Bar()
bar3.add_xaxis(["中国", "美国", "英国"])
bar3.add_yaxis("GDP", [50, 30, 30], label_opts=LabelOpts(position="right"))

bar4 = Bar()
bar4.add_xaxis(["中国", "美国", "英国"])
bar4.add_yaxis("GDP", [60, 20, 50], label_opts=LabelOpts(position="right"))

# 构建时间线对象
timeline = Timeline({"theme": ThemeType.LIGHT})     # 主题设置
# 在时间线内部添加柱状图对象
timeline.add(bar1, "点1")
timeline.add(bar2, "点2")
timeline.add(bar3, "点3")
timeline.add(bar4, "点4")
# 自动播放设置
timeline.add_schema(
    play_interval=1000,         # 自动播放的时间间隔,单位毫秒
    is_timeline_show=True,      # 是否在自动播放的时候显示时间线
    is_auto_play=True,          # 是否自动播放
    is_loop_play=True           # 是否循环自动播放
)

# 绘图
timeline.render("基础时间线柱状图.html")

数据可视化 - 动态柱状图,Python,windows,开发语言,python

GDP动态柱状图绘制

需求分析

简单分析后,发现最终效果图中需要:

1. GDP数据处理为亿级

2. 有时间轴,按照年份为时间轴的点

3. x轴和y轴反转,同时每一年的数据只要前8名国家

4. 有标题,标题的年份会动态更改

5. 设置了主题为LIGHT

代码

"""
演示第三个图表:GDP动态柱状图开发
"""
from pyecharts.charts import Bar, Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType

# 读取数据
f = open("D:/1960-2019全球GDP数据.csv", "r", encoding="GB2312")
data_lines = f.readlines()
# 关闭文件
f.close()
# 删除第一条数据
data_lines.pop(0)
# 将数据转换为字典存储,格式为:
# { 年份: [ [国家, gdp], [国家,gdp], ......  ], 年份: [ [国家, gdp], [国家,gdp], ......  ], ...... }
# { 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数据
    # 如何判断字典里面有没有指定的key呢?
    try:
        data_dict[year].append([country, gdp])
    except KeyError:
        data_dict[year] = []
        data_dict[year].append([country, gdp])

# print(data_dict[1960])
# 创建时间线对象
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)
    # 取出本年份前8名的国家
    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] / 100000000)   # 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))


# for循环每一年的数据,基于每一年的数据,创建每一年的bar对象
# 在for中,将每一年的bar对象添加到时间线中

# 设置时间线自动播放
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")

数据可视化 - 动态柱状图,Python,windows,开发语言,python

 文章来源地址https://www.toymoban.com/news/detail-607467.html

到了这里,关于数据可视化 - 动态柱状图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python数据可视化】matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图

    文章传送门 Python 数据可视化 matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图 matplotlib之设置坐标:添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值 matplotlib之增加图形内容:设置图例、设置中文标题、设置网格效果 matplo

    2024年01月16日
    浏览(54)
  • 基于Python的疫情数据可视化(matplotlib,pyecharts动态地图,大屏可视化)

    有任何学习问题可以加我微信交流哦!bmt1014 1、项目需求分析 1.1背景 2020年,新冠肺炎疫情在全球范围内爆发,给人们的健康和生命带来了严重威胁,不同国家和地区的疫情形势也引起了广泛的关注。疫情数据的监测和分析对疫情防控和科学防治至关重要。本报告以疫情数据

    2024年02月05日
    浏览(52)
  • 【数据分析大作业 爬虫+数据清洗+可视化分析】Python抓取视频评论并生成词云、情感指数柱状图、性别比例饼图及评论信息表格

    目录 一些将BV号转化为AV号的变量设置 词云屏蔽词设置 使用代理IP(直接从IP网站复制的) 爬虫的函数 将结果写入表格中 下面是主函数,首先看看能不能抓取到,还有一些变量设置 开始循环爬评论 对一些统计数据进行处理 制作词云 制作柱状图和饼图 结束,生成表格 男女

    2024年02月07日
    浏览(52)
  • 数据可视化高级技术Echarts(堆叠柱状图)

    目录 一.如何实现 二.代码展示 1.stack名称相同(直接堆叠) 2. stack名称不相同(相同的堆叠,不同的新生成一列) 数据堆叠,同个类目轴上系列配置相同的  stack  值可以堆叠放置。即在series中将设置stack即可。其他设置与普通柱状图相同, 参考文章: 数据可视化高级技术

    2024年04月10日
    浏览(40)
  • 数据可视化——绘制带有时间线的柱状图

    我们已经学习了使用 pyecharts 包中的模块和相应的方法绘制了折线图和地图,那么今天我将为大家分享如何绘制带有时间线的柱状图。 绘制柱状图跟绘制折线图的步骤是大致相同的。 python 中绘制柱状图依赖于 pyecharts.charts 模块下的 Bar 方法。 我们还可以将横坐标与纵坐标颠

    2024年02月16日
    浏览(36)
  • 数据可视化,使用Echarts生成柱状图,折线图,饼图

    目录 ECharts的快速上手 步骤1:引入 echarts.js 文件 步骤2:准备一个呈现图表的盒子 步骤3:初始化 echarts 实例对象 步骤4:准备配置项 步骤5:将配置项设置给 echarts 实例对象 示例代码: 相关配置讲解: 效果展示:  1.柱状图 常见效果: 标记: 显示: 横向柱状图: 柱状图示

    2024年01月20日
    浏览(45)
  • 简单的用Python抓取动态网页数据,实现可视化数据分析

    一眨眼明天就周末了,一周过的真快! 今天咱们用Python来实现一下动态网页数据的抓取 最近不是有消息说世界首富马上要变成中国人了吗,这要真成了,可就是历史上首位中国世界首富了! 那我们就以富豪排行榜为例,爬取一下2023年国内富豪五百强,最后实现一下可视化分

    2024年02月05日
    浏览(47)
  • 从静态到动态化,Python数据可视化中的Matplotlib和Seaborn

    本文分享自华为云社区《Python数据可视化大揭秘:Matplotlib和Seaborn高效应用指南》,作者: 柠檬味拥抱。 首先,确保你已经安装了Matplotlib和Seaborn库。如果没有安装,可以使用以下命令进行安装: Matplotlib是一个灵活的绘图库,支持多种图表类型。以下是一个简单的折线图的

    2024年03月25日
    浏览(82)
  • 【Python大数据期末/课程设计】动态爬取“纵横中文网“小说排行榜数据并进行可视化处理 (flask框架/MySQL数据库/echarts数据可视化)

    代写C语言、C++、Java、Python、HTML、JavaScript、vue、MySQL相关编程作业, 长期接单,信誉有保证,标价10-20每份,如有需要请加文章最下方QQ。 本文资源:https://download.csdn.net/download/weixin_47040861/89149396 题目描述: 爬取“纵横中文网” 1.利用爬虫技术爬取完整的一千条数据. 2.将爬

    2024年04月25日
    浏览(38)
  • 实例1:利用pyecharts绘制3D柱状图 (相关数据可视化课设可在付费资源获取)

    说明:选取采用pyecharts库中的Bar3D模块 注:这里以0.5版本的pyecharts库为例。 Bar3D模块参数: 实例化:Bar3D(标题名称 title) bar3d.add(\\\"副标题\\\",x_axis,y_axis,[a,b,c],is_visualmap,     visual_range,     visual_range_color,     grid3d_width,     grid3d_depth, ) bar3d.render() x_axis:定义x轴 y_axis:定义y轴 [a,b

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包