软件测试|Python数据可视化神器——pyecharts教程(七)

举报
霍格沃兹测试开发 发表于 2023/11/09 18:00:43 2023/11/09
【摘要】 pyecharts绘制炫酷日历图 什么是日历图日历图(Calendar Chart)是一种用于可视化时间序列数据的图表类型。它以日历的形式展示数据,将时间与数据值结合在一起,使得数据的周期性和趋势在日历的视觉布局中更加直观和易于理解。在日历图中,每个单元格代表一个日期(通常是天),并用不同的颜色、大小或其他视觉属性来表示该日期对应的数据值。例如,可以使用不同的颜色来表示数据的强度,或者使用...

pyecharts绘制炫酷日历图

什么是日历图

日历图(Calendar Chart)是一种用于可视化时间序列数据的图表类型。它以日历的形式展示数据,将时间与数据值结合在一起,使得数据的周期性和趋势在日历的视觉布局中更加直观和易于理解。

在日历图中,每个单元格代表一个日期(通常是天),并用不同的颜色、大小或其他视觉属性来表示该日期对应的数据值。例如,可以使用不同的颜色来表示数据的强度,或者使用不同的大小来表示数据的数量。

日历图通常用于展示时间序列数据的周期性、趋势和模式。它适用于各种领域,如气候数据、销售数据、股票价格、社交媒体活动等。通过日历图,用户可以更容易地发现数据中的季节性变化、周期性趋势以及异常值。

除了用于展示时间序列数据外,日历图还可以用于计划和时间管理,例如将日历图用于标记某个时间段的任务和事件,以帮助用户更好地规划和安排时间。

作为数据可视化神器,pyecharts也同样支持绘制日历图,下面我们就来介绍如何使用pyecharts来绘制日历图。

绘图实战

pyecharts有一个Calendar类来绘制日历图,我们绘制日历图主要是使用这个类来进行绘制。

比如我们要绘制2022年凯美瑞车型的销售情况日历图,数据随机生成,代码如下:

import datetime
import random
from pyecharts import options as opts
from pyecharts.charts import Calendar

# 设置开始日期和结束日期
begin = datetime.date(2022, 1, 1)
end = datetime.date(2022, 12, 31)

# 生成数据,每天的日期和随机步数
data = [
    [str(begin + datetime.timedelta(days=i)), random.randint(500, 1500)]
    for i in range((end - begin).days + 1)
]

# 创建日历图对象
c = (
    Calendar()
    .add("", data, calendar_opts=opts.CalendarOpts(range_="2022"))  # 添加数据和日历选项
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2022年凯美瑞销售情况"),  # 设置标题
        visualmap_opts=opts.VisualMapOpts(
            max_=1500,  # 设置最大值
            min_=500,  # 设置最小值
            orient="horizontal",  # 设置视觉映射条的方向
            is_piecewise=True,  # 是否分段显示
            pos_top="230px",  # 设置视觉映射条的上边距
            pos_left="100px",  # 设置视觉映射条的左边距
        ),
    )
)

# 输出为HTML文件
c.render("calendar_sale.html")

绘制的图像如下:

image.png

当然,我们也可以绘制成热力图,代码如下:

import random
import datetime
import pyecharts.options as opts
from pyecharts.charts import Calendar

# 设置开始日期和结束日期
begin = datetime.date(2022, 1, 1)
end = datetime.date(2022, 12, 31)

# 生成数据,每天的日期和随机步数
data = [
    [str(begin + datetime.timedelta(days=i)), random.randint(500, 1500)]
    for i in range((end - begin).days + 1)
]

# 创建日历图对象
c = (
    Calendar()
    .add(
        series_name="",  # 设置图例名称
        yaxis_data=data,  # 设置y轴数据
        calendar_opts=opts.CalendarOpts(
            pos_top="120",  # 设置日历图的上边距
            pos_left="30",  # 设置日历图的左边距
            pos_right="30",  # 设置日历图的右边距
            range_="2022",  # 设置日历的范围
            yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),  # 设置年份标签选项,不显示年份
        ),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(pos_top="30", pos_left="center", title="2022年凯美瑞销售情况"),  # 设置标题
        visualmap_opts=opts.VisualMapOpts(
            max_=1500, min_=500, orient="horizontal", is_piecewise=False  # 设置视觉映射选项
        ),
    )
)

# 输出为HTML文件
c.render("calendar_heat.html")

运行代码,生成的日历热力图如下图所示:

image.png

我们可以通过移动左下角的标尺来看的不同热力的图像展示,如下图:

image.png

总结

这只是一个简单的例子,你可以根据需要自定义图表样式和数据,以满足你的具体需求。在Pyecharts的官方文档中,你可以找到更多关于日历图和其他图表的详细用法和选项。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。