日历图
通过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()