Pyecharts基本图:日历图

基于 Echarts 的 Python 图表库:Pyecahrts交互式的日历图和3D柱状图 本文将引领读者深入了解数据可视化领域中的两个强大工具:Python 编程语言和 Pyecharts 库。我们将详细探讨如何使用 Pyecharts 创建令人印象深刻的柱状图和日历图,通过展示数据之美,提高信息传达的效果。日历图是一种用于展示时间数据的独特而强大的数据可视化工具。它以日历的形式呈现数据,让用户可以直观地看到时间的分布和趋势。在 Pyecharts 中,通过使用 Calendar 类,可以轻松地创建日历图。 阅读详情

Pyecharts基本图:日历图



前言

本文主要是详细展示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 random

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


begin = 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 datetime

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


begin = 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")
)

2020年步数情况

2.3 Calendar_label_setting 日历图标签设定

import datetime
import random

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


begin = 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")
)

2020微信步数情况


总结

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

python绘制日历图 Python绘制日历图,热力图。 阅读详情

相关推荐

PyEcharts 基本图表之日历图

将日历图组件的位置设置为距顶部 120 像素,距左侧 30 像素,距右侧 30 像素;将日历图名称设置为“2020年步数情况”并使其位置距上侧 30 像素,左右居中;将日历坐标范围设置为 2020 年,并使用中文坐标轴标记星期以及月份;平台会运行你编写的代码进行绘图,并与预期图片进行比对。将日历图画布设置为宽 1600 像素,高 350 像素;将日历坐标范围设置为 2020 年,并设置其不显示;最大值设置为 30000 ,最小值设置为 500;最大值设置为 30000 ,最小值设置为 500;

m0_62222486的博客 842

时间序列数据可视化:Pyecharts日历图

​ Hallo,各位小伙伴大家好啊!这个专栏是用来分享数据处理以及数据可视化的一些常见操作,以及自己的一些学习笔记,希望能给大家带来帮助呀!感兴趣的小伙伴也欢迎私信或者评论区交流呀! ​

weixin_63866037的博客 3292

100天精通Python(可视化篇)——第98天:Pyecharts绘制多种炫酷日历图参数说明+代码实战

一、日历图介绍 二、基础配置 1. 配置项类 2. 添加函数 3. 日期标签配置 4. 坐标系配置 三、日历图实战 1. 基础日历图 2. 日历热图

努力让自己发光,对的人才能迎着光而来 2万+

pyechart绘制日历图

pyechart绘制日历图 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.randi

风花雪月,品霖千年之情 4317

OpenFoam实用技巧——starccm网格高效转换openfoam格式全解析

本文详细解析了如何利用OpenFOAM官方工具`ccm26toFoam`,将STAR-CCM+生成的高质量网格高效、稳定地转换为OpenFOAM格式。内容涵盖从STAR-CCM+正确导出网格、执行转换命令、解读转换日志,到转换后关键的边界条件修复与网格质量检查等全流程,旨在帮助用户规避常见错误,实现无缝工作流衔接。

weixin_28309571的博客 457

解决/usr/lib64/libstdc++.so.6和/lib64/libc.so.6版本过低问题

在CentOS7.0中编译好MySQL5.7.14之后,然后在CentOS6.5中初始化MySQL,执行:/usr/local/mysql/bin/mysqld --version出现如下问题:./bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./bin/mysqld)

poxiaonie的博客 2万+

炫酷日历图-Pyecharts进阶指南与实战技巧

Pyecharts是一个基于Echarts的Python库,它提供了简单易用的API,使得绘制各种图表变得十分方便。Echarts本身是一款由百度开发的数据可视化库,支持多种图表类型,包括我们今天要讲解的日历图。通过本篇博客,我们介绍了如何绘制动态日历图和结合数据分析更深入地理解图表。通过不断挑战自己,尝试不同类型的日历图和更多的数据分析手法,你可以逐渐掌握Pyecharts在日历图可视化方面的强大功能,为数据展示和分析提供更加全面的支持。希望这些进阶内容对你的学习和实践有所帮助。

一键难忘的博客 1万+

从零开始:H20服务器上DeepSeek R1 671B大模型部署与压力测试全攻略

最近,我有幸在工作中接触到了DeepSeek R1 671B模型,这是目前中文开源领域参数量最大的高质量模型之一。DeepSeek团队在2024年推出的这款模型,以其惊人的6710亿参数量和出色的推理性能,引起了业界广泛关注。作为一名AI基础设施工程师,我有机会在H20服务器上部署这个庞然大物,并对其进行了全面的压力测试。这篇文章将详细记录我的部署过程和性能测试方法,希望能为大家提供一些参考。💡为什么选择DeepSeek R1?超大规模参数量(671B)优秀的中英文理解能力开源可商用的许可证。

wangli的博客 1万+

每日五个pyecharts可视化图表日历图和箱线图:从入门到精通

本文介绍了两种实用的数据可视化图表——日历图和箱线图的使用方法。日历图通过直观的日历形式展示时间序列数据,适合呈现全年趋势;箱线图则能清晰展示数据分布特征和异常值。文章提供了完整的环境配置指南和基于pyecharts的实现代码,包括基础日历图和高级热力图的具体示例,详细解析了数据格式、关键参数及可视化效果优化技巧。这些方法可广泛应用于健康监测、销售分析、实验数据展示等多种场景,帮助用户快速构建专业的数据可视化图表。

大数据内容个人总结与分享 1677

RingBuffer 环形缓冲区----镜像指示位

称作环形缓冲区,也称作环形队列(circular queue),是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。这个宏定义用于计算向下对齐的地址。size和align。size是要对齐的内存大小,align是所需的对齐大小。这个宏返回一个值,该值是size向下对齐到align边界后的地址。例如,假设我们有一个 32 位的系统,并且我们需要将数据对齐到 64 位的边界。我们可以使用在这个例子中,data数组的大小为 10 个元素,我们需要将其对齐到 8 字节边界。宏返回data。

呵呵哒!的博客 2408

VN5620硬件接口介绍

VECTOR, VN5620, 诊断

Fecostar的博客 7484

pyecharts:日历图实战

背景【相关资料来源于《 数据之美:一本书学会可视化设计》】: 时序数据可视化的目的 可视化时序数据时,目标是看到什么已经成为过去,什么保持不变,以及什么发生了变化,相差程度是多少,造成变化的原因可能是什么?有没有重复出现的模式(周期/循环)?是好还是坏?预期内还是意料之外? 时序数据可视化的种类 时序数据和分类数据一样,条形图是观察最直观的方式,只是坐标轴上不再用分类,而是用时间。以下是用时间作...

weixin_41108545的博客 2177

10.Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲

本文的结构还是首先教大家明确概念问题,然后深入理解概念并学会使用,最后在理论基础掌握的基础上,通过实例来强化大家的理解。本文依旧是**先理论后实践**的教学方式,欢迎留言或私聊提问。

关注我,更多技术问题欢迎私聊~ 1万+

Pyecharts之日历图(Calendar)

Pyecharts之日历图(Calendar) 一.基本概念 class pyecharts.charts.Calendar class Calendar( init_opts: opts.InitOpts=opts.InitOpts() ) func pyecharts.charts.Calendar.add def add( # 系列名称,用于 toolti...

V_lq6h的博客 2479

RK3588适配Ubuntu系统

RKsdk上支持buildroot以及Debian系统,但是Ubuntu需要自己移植,有很多公司都移植好了可以直接用,这里就总结记录一下我制作Ubuntu的过程。

m0_60805802的博客 5361

YOLO11改进-注意力-引入多尺度注意力聚合(MSAA)模块

对来自backbone的特征进行细化处理。通过空间和通道两个路径的操作,增强了空间和通道方面的特征信息,使得输出的特征图在空间和通道维度上都更加优质。1. 在空间细化路径中,通过对不同核大小的卷积进行求和以及一系列的空间特征聚合操作,实现了多尺度空间信息的融合。2. 在通道聚合路径中,通过全局平均池化、卷积和激活等操作生成通道注意力图,并与空间细化后的图相结合,实现了通道维度上的多尺度信息融合。

qq_64693987的博客 4675

[pyecharts学习笔记]——Calendar日历图

基本日历图 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) # 数据 dat...

积一时之步,臻千里之遥程 2219

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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

日历图 import datetime import random from pyecharts.charts import Calendar from pyecharts import options as opts #Calendar-2017年微信步数情况 def calendar_base(): begin = datetime.date(2017, 1, 1) end ...

weixin_44469890的博客 1618

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

数据森麟 2052

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

文章目录日历图日历图使用的数据格式日历坐标系组件配置项:CalendarOpts 日历图 日历图使用的数据格式 pyecharts日历图的数据使用由时间和值组成的元组序列 推导式创建列表 使用datetime包创建日期 import datetime import random from pyecharts import options as opts from pyecharts.charts import Calendar begin = datetime.date(2017, 1,1) en

qq_41027398的博客 2869

pyecharts柱状图,折现图,日历图

import pandas as pd from pyecharts import options as opts from pyecharts.charts import * from pyecharts.globals import ThemeType,SymbolType data=pd.read_excel(r'./医院药品销售数据.xlsx') data.head() 购药时间 社保卡号 商品编码 商品名称

qh_aichun的博客 714

pyecharts日历图终极指南:时间序列数据可视化完整教程

你是否正在寻找一种直观展示时间序列数据的方法?想要通过色彩变化快速识别数据模式和趋势?pyecharts日历图就是你的完美解决方案!🎯 作为Python生态中最强大的数据可视化库之一,pyecharts提供了丰富的图表类型,其中日历图特别适合展示时间序列数据,让数据在日历网格中以色彩渐变的方式呈现,直观又美观。 ## 📊 什么是pyecharts日历图? **pyecharts日历图**是

gitblog_00770的博客 452

pyecharts

7. `c.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}: {c}'))`:设置饼图的标签选项,使用格式化字符串'{b}: {c}'来显示每个扇区的标签,其中{b}表示类别名称,{c}表示该类别的值。13. `.set_global_opts(title_opts=opts.TitleOpts(title="ThemeRiver-基本示例"))`:设置全局选项,包括标题选项,将标题设置为"ThemeRiver-基本示例"。

yuange1666的博客 1140
上一篇: Pyecharts配置项
下一篇: Pyecharts基本图:漏斗图
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值