Pyecharts基本图:日历图


文章目录

  • Pyecharts基本图:日历图
  • 前言
  • 一. Calendar:日历图
    • 1.1 `class pyecharts.charts.Calendar`配置项类
    • 1.2 `func pyeachrts.charts.Calendar.add`添加函数
    • 1.3 `CalendarOpts` 日历坐标系组件配置项
  • 二. 日历图案例
    • 2.1 Calendar_base 基本日历图
    • 2.2 Calendar_heatmap 日历热图
    • 2.3 Calendar_label_setting 日历图标签设定
  • 总结

前言

本文主要是详细展示Pyecharts的基本图表之日历图的主要操作以及案例。


一. Calendar:日历图

1.1 class pyecharts.charts.Calendar配置项类

class Calendar(# 初始化配置项,参考 `global_options.InitOpts`init_opts: opts.InitOpts = opts.InitOpts()
)

这里我们可以对日历图的配置项进行设定,不动则表示使用默认形式。

1.2 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,
)

这里最常用的就是添加名字series_name,系列数据yaxis_data,以及标签配置项label_opts;最后三个其实用的比较少,只有在需要画特定形式的日历图才用得上吧。

1.3 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,
)

类里面写的超级详细,后面用案例来实战。

二. 日历图案例

2.1 Calendar_base 基本日历图

import datetime
import randomfrom pyecharts import options as opts
from pyecharts.charts import Calendarbegin = datetime.date(2020, 1, 1)
end = datetime.date(2020, 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_="2020")).set_global_opts(title_opts=opts.TitleOpts(title="Calendar-2020年微信步数情况"),visualmap_opts=opts.VisualMapOpts(max_=20000,min_=500,orient="horizontal",is_piecewise=True,pos_top="230px",pos_left="100px",),).render("calendar_base.html")
)

特别的是,在生成的html里面,打开后,我们点击下方的范围值前的小矩形,点击后会变成灰色,而且图上相应颜色的方块也会变成白色,使用起来十分的方便有趣。

2.2 Calendar_heatmap 日历热图

import random
import datetimeimport pyecharts.options as opts
from pyecharts.charts import Calendarbegin = datetime.date(2020, 1, 1)
end = datetime.date(2020, 12, 31)
data = [[str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]for i in range((end - begin).days + 1)
]  # 生成器生成一一对应的数据。(Calendar(init_opts=opts.InitOpts(width="1600px", height="1000px")).add(series_name="",  # 名字yaxis_data=data,  # 数据calendar_opts=opts.CalendarOpts(# 上左右边界pos_top="120",pos_left="30",pos_right="30",range_="2020",yearlabel_opts=opts.CalendarYearLabelOpts(is_show=False),),).set_global_opts(  # 设定全局变量title_opts=opts.TitleOpts(pos_top="30", pos_left="center", title="2020年步数情况"),visualmap_opts=opts.VisualMapOpts(  # 可视化图形,设定左下角的,可选水平或者垂直vertical# is_piecewise 是否显示拖拽用的手柄max_=20000, min_=500, orient="horizontal", is_piecewise=False),) # 这里其实也可以直接在notebook显示出来,render_notebook("....")也是一样的。.render("calendar_heatmap.html")
)

2.3 Calendar_label_setting 日历图标签设定

import datetime
import randomfrom pyecharts import options as opts
from pyecharts.charts import Calendarbegin = datetime.date(2020, 1, 1)
end = datetime.date(2020, 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_="2020",# 注意到这里name_map = "cn" ,name_map="cn" 使用的是中文标签。daylabel_opts=opts.CalendarDayLabelOpts(name_map="cn"),monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="cn"),),).set_global_opts(title_opts=opts.TitleOpts(title="Calendar-2020年微信步数情况(中文 Label)"),visualmap_opts=opts.VisualMapOpts(max_=20000,min_=500,orient="horizontal",is_piecewise=True,  # 这里是True 表示可以选择是否出现。pos_top="230px",pos_left="100px",),).render("calendar_label_setting.html")
)


总结

本文主要是介绍了三种简单的日历图,对于特别指出的几个有趣的地方,大家可以直接使用代码改改来画其他有意义的数据。最后感谢大家的点赞,收藏和评论。

Pyecharts基本图:日历图相关推荐

  1. pyecharts:日历图实战

    背景[相关资料来源于< 数据之美:一本书学会可视化设计>]: 时序数据可视化的目的 可视化时序数据时,目标是看到什么已经成为过去,什么保持不变,以及什么发生了变化,相差程度是多少,造成变化 ...

  2. Pyecharts之日历图(Calendar)

    Pyecharts之日历图(Calendar) 一.基本概念 class pyecharts.charts.Calendar class Calendar(init_opts: opts.InitOp ...

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

    [图表]pyecharts模块-日历图 先来看代码: import random import datetimeimport pyecharts.options as opts from pyecha ...

  4. pyecharts绘制日历图、漏斗图、仪表盘、水滴图

    日历图 import datetime import random from pyecharts.charts import Calendar from pyecharts import option ...

  5. 手把手教你用 pyecharts 制作日历图

    公众号后台回复"图书",了解更多号主新书内容 作者:林骥 来源:林骥 日历图,是指按照日历的布局,用颜色展现每一天的数据,从而比较直观地看到全年的数据情况. 比如说,下面是一家超市 ...

  6. python 日历热力图_Python绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城 ...

  7. python绘制日历图

    文章目录 seaborn的热力图实现 自定义颜色及调节颜色标尺的颜色区间 使用pyecharts实现日历图 seaborn的热力图实现 # 导入用到的包 import pandas as pd imp ...

  8. python制作日历_Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 数据处理 从网站下 ...

  9. python日历图_Python绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 2019年全国各城 ...

最新文章

  1. Lotus Notes常见问题答疑
  2. 【Python】函数外定义变量并在函数内进行更新
  3. Exchange Server 2010部署安装
  4. Kibana linux下安装
  5. Windows下 Python3.7.0 运行环境的搭建 一套操作后就可以使用Python写代码啦~
  6. 五层验证系统,带你预防区块链业务漏洞
  7. react加水印_给网页增加水印的方法,react
  8. servlet配置log4J
  9. freemarker处理嵌套属性是否为空的判断
  10. Week 2 代码审查
  11. Windows IOCP模型与Linux EPOLL模块之比较-
  12. 一幅漫画趣味解读 Linux 内核
  13. SpringBoot 房屋租赁系统3.0 manland.liuyanzhao.com
  14. 在SQL用代码编写好数据库并且保存为sql文件后如何正确的打开?
  15. 根据WSDL文件生成JAVA代码
  16. 计算机考研的初试和复试的区别,考研初试和复试之间的区别
  17. 起得比鸡早,睡得比狗晚,干得比驴多,吃得比猪差
  18. QQ群、讨论组上传文件,由于网络原因上传失败?
  19. c语言如何统计不同分数段学生人数,Excel统计不同班级各个分数段的学生人数的方法...
  20. python中global和def_Python中 Global和Nonlocal的用法详解

热门文章

  1. php网页全屏背景图代码,HTML5 body设置全屏背景图片的示例代码
  2. php程序员 合川_PHP程序员将何去何从?
  3. C语言午餐,【故事优选C】安详的午餐
  4. 达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取
  5. 未检测到与wia兼容的设备_佳能Lide25扫描仪提示未检测到扫描仪怎么办?
  6. 肉体的情欲、眼目的情欲、今…
  7. 哈工大信息内容安全实验
  8. visit 安装说明
  9. 通过百度站长死链提交需要注意哪些事项?
  10. 聊聊GIS中那些坐标系(转)