基于pyecharts的数据可视化(四):1.基本图表之日历图

本文介绍了如何使用PyEcharts创建日历图,包括数据格式的设定,如使用元组序列结合datetime生成日期数据。日历图的配置涉及系列名称、系列数据、标签、提示框和图元等。日历坐标系组件配置项如CalendarOpts的设置,如pos_left、pos_top调整位置,range_定义范围,以及daylabel_opts和monthlabel_opts改变星期和月份轴的显示方式。此外,还展示了如何使用VisualMapOpts进行视觉映射组件配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日历图

通过add添加系列名称、系列数据、标签配置项、日历坐标系组件配置型、提示框组件配置项、图元配置项。
标签、提示框和图元都属于系列配置项

日历图使用的数据格式

pyecharts日历图的数据使用由时间和值组成的元组序列
在这里插入图片描述
推导式创建列表
在这里插入图片描述
使用datetime包创建日期
在这里插入图片描述
生成数据并构建日历图

import datetime
import random

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

begin = datetime.date(2017, 1,1)
end = datetime.date(2017, 3,31)
data = [#推导式生成数据列表
    [str(begin + datetime.timedelta(days=i)), random.randint(1000, 20000)]#timedelta表示时间间隔
    for i in range((end - begin).days + 1)
]
print(data)#展示数据格式
c = Calendar()
c.add(
    series_name = "系列名称", #设置系列名称
    yaxis_data = data, #设置系列数据
    calendar_opts=opts.CalendarOpts(range_=["2017-01", "2017-02"])#range_属性必填,有多重格式
)
c.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        max_=20000,#指定视觉映射组件最大最小值
        min_=500,
        orient="horizontal",#组件水平放置
        is_piecewise=True,#使用分段型表示
        pos_top="230px",#调整组件位置
        pos_left="100px",
    ),
)
c.render_notebook()

在这里插入图片描述

日历坐标系组件配置项:CalendarOpts

该配置项属性有:
1.调整组件位置的pos_left、pos_top、pos_right、pos_bottom
这四个属性是调整距离容器(左、上、右、下)侧的距离
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.orient日历坐标的布局朝向,值可为’horizontal’和’vertical’
3.range_,必填,日历坐标的范围支持多种格式
在这里插入图片描述
4.daylabel_opts、monthlabel_opts、yearlabel_opts分别为星期轴的样式、月份轴的样式和年份的样式。这三个配置项参考系列配置项中的LabelOpts,但不完全相同

import datetime
import random

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

opts.CalendarDayLabelOpts
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)
]
c = (
    Calendar()
    .add(
        series_name = "系列名称",#添加系列名称
        yaxis_data=data,#设置系列数据
        calendar_opts=opts.CalendarOpts(
            pos_left = 200,
            range_=['2017-01-01', '2018-12-01'],#必填,日历坐标的范围 支持多种格式
            daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),#星期轴的样式变为中文
            monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),#月份轴的样式变为中文
        ),
    )
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(
            max_=20000,
            min_=500,
            orient="horizontal",
            is_piecewise=True,
            pos_top="230px",
            pos_left="100px",
        ),
    )
)
c.render_notebook()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值