[图表]pyecharts模块-日历图

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

[图表]pyecharts模块-日历图

先来看代码:

import random
import datetime

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


begin = datetime.date(2017, 1, 1)
end = datetime.date(2017, 12, 31)
data = [
    [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
    for i in range((end - begin).days + 1)
]

(
    Calendar()
    .add(
        series_name="",
        yaxis_data=data,
        calendar_opts=opts.CalendarOpts(
            pos_top="120",
            pos_left="30",
            pos_right="30",
            range_="2017",
            yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),
        ),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(pos_top="30", pos_left="center", title="2017年步数情况"),
        visualmap_opts=opts.VisualMapOpts(
            max_=20000, min_=500, orient="horizontal", is_piecewise=False
        ),
    )
    .render("calendar_heatmap.html")
)

再来看结果:

[图表]pyecharts模块-日历图
[图表]pyecharts模块-日历图

再来看解析:

这段代码使用了Python中的pyecharts模块创建了一个日历图,并使用了随机数和日期相关的模块。

首先,导入了需要的模块:

  • random:用于生成随机数的模块
  • datetime:用于处理日期和时间的模块
  • opts:包含一些图表配置选项的模块
  • Calendar:用于创建日历图的类

接下来,定义了开始日期begin和结束日期end,并通过datetime.date创建了日期对象:

begin = datetime.date(2017, 1, 1)
end = datetime.date(2017, 12, 31)

然后,通过循环生成了一个包含日期和随机数的二维列表data,每个日期对应一个随机数:

data = [
    [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
    for i in range((end - begin).days + 1)
]

在每次循环中,通过datetime.timedelta增加了一天的时间,将日期转换为字符串,并生成了一个随机数。

接着,创建了一个Calendar对象,并使用add方法添加数据。通过指定yaxis_data参数传入data列表,设置了日历图的配置选项:

(
    Calendar()
    .add(
        series_name="",
        yaxis_data=data,
        calendar_opts=opts.CalendarOpts(
            pos_top="120",
            pos_left="30",
            pos_right="30",
            range_="2017",
            yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),
        ),
    )
    ...
)

calendar_opts中,设置了日历图的位置、范围、年份标签等选项。

然后,使用set_global_opts方法设置全局选项,这里设置了图表的标题和可视化映射的选项:

    .set_global_opts(
        title_opts=opts.TitleOpts(pos_top="30", pos_left="center", title="2017年步数情况"),
        visualmap_opts=opts.VisualMapOpts(
            max_=20000, min_=500, orient="horizontal", is_piecewise=False
        ),
    )

标题的位置设置在顶部居中,标题内容为"2017年步数情况"。可视化映射的选项设置了最大值、最小值、方向等。

最后,使用render方法将图表渲染为一个HTML文件,并保存为"calendar_heatmap.html":

    .render("calendar_heatmap.html")

整个过程中,每个方法调用都返回了当前对象,所以可以使用链式调用的方式来依次添加数据和配置。最终,调用render方法将图表渲染为HTML文件。通过设置日期和随机数数据以及相应的配置选项,实现了日历图的生成,展示了每天的步数情况。

注:图表资源来源于:
pyecharts-gallery
本站只提供常用图表与其解析
文章来源地址https://www.toymoban.com/news/detail-474263.html

到了这里,关于[图表]pyecharts模块-日历图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包