Calendar:日历图
class pyecharts.charts.Calendar
class Calendar(
# 初始化配置项,参考 `global_options.InitOpts`
init_opts: opts.InitOpts = opts.InitOpts()
)
func pyeachrts.charts.Calendar.add
def add(
# 系列名称,用于 tooltip 的显示,legend 的图例筛选。
series_name: str,
# 系列数据,格式为 [(date1, value1), (date2, value2), ...]
yaxis_data: Sequence,
# 是否选中图例
is_selected: bool = True,
# 标签配置项,参考 `series_options.LabelOpts`
label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),
# 日历坐标系组件配置项,参考 `CalendarOpts`
calendar_opts: Union[opts.CalendarOpts, dict, None] = None,
# 提示框组件配置项,参考 `series_options.TooltipOpts`
tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,
# 图元样式配置项,参考 `series_options.ItemStyleOpts`
itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)
CalendarOpts:日历坐标系组件配置项
class pyecharts.options.CalendarOpts
class CalendarOpts(
# calendar组件离容器左侧的距离。
# left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,
# 也可以是 'left', 'center', 'right'。
# 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。
pos_left: Optional[str] = None,
# calendar组件离容器上侧的距离。
# top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比,
# 也可以是 'top', 'middle', 'bottom'。
# 如果 top 的值为'top', 'middle', 'bottom',组件会根据相应的位置自动对齐。
pos_top: Optional[str] = None,
# calendar组件离容器右侧的距离。
# right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。
# 默认自适应。
pos_right: Optional[str] = None,
# calendar组件离容器下侧的距离。
# bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。
# 默认自适应。
pos_bottom: Optional[str] = None,
# 日历坐标的布局朝向。可选:
# 'horizontal', 'vertical'
orient: Optional[str] = None,
# 必填,日历坐标的范围 支持多种格式,使用示例:
# 某一年 range: 2017
# 某个月 range: '2017-02'
# 某个区间 range: ['2017-01-02', '2017-02-23']
# 注意 此写法会识别为['2017-01-01', '2017-02-01']
# range: ['2017-01', '2017-02']
range_: Union[str, Sequence, int] = None,
# 星期轴的样式,参考 `series_options.LabelOpts`
daylabel_opts: Union[LabelOpts, dict, None] = None,
# 月份轴的样式,参考 `series_options.LabelOpts`
monthlabel_opts: Union[LabelOpts, dict, None] = None,
# 年份的样式,参考 `series_options.LabelOpts`
yearlabel_opts: Union[LabelOpts, dict, None] = None,
)
import datetime
import random
from pyecharts import options as opts
from pyecharts.charts import Calendar
def calendar_base() -> 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)
]
c = (
Calendar()
.add("", data, calendar_opts=opts.CalendarOpts(range_="2017"))
.set_global_opts(
title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),
visualmap_opts=opts.VisualMapOpts(
max_=20000,
min_=500,
orient="horizontal",
is_piecewise=True,
pos_top="230px",
pos_left="100px",
),
)
)
return c
calendar_base().render("k11.html")