首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Matplotlib:在x轴上显示选定的日期标签

Matplotlib:在x轴上显示选定的日期标签
EN

Stack Overflow用户
提问于 2019-05-11 08:30:00
回答 1查看 160关注 0票数 2

在我的matplotlib图中,datetime x轴当前的格式为

代码语言:javascript
运行
AI代码解释
复制
ax.xaxis.set_major_locator(dt.MonthLocator())
ax.xaxis.set_major_formatter(dt.DateFormatter('%d %b'))
ax.xaxis.set_minor_locator(dt.DayLocator())
ax.xaxis.set_minor_formatter(ticker.NullFormatter())

我想要有小刻度的标签,但只有一些值。期望值:

我应该使用什么minor_formatter

EN

回答 1

Stack Overflow用户

发布于 2019-06-25 05:14:48

次要刻度需要有选择性标签-仅在具有特定值的日期显示。为了选择日期,我想出了我自己的格式化程序,它接受一个谓词(传递datetime时返回true/false的函数)包装一个DateFormatter来实际格式化字符串。这允许更通用的方法(例如,您可以只显示周末)

代码语言:javascript
运行
AI代码解释
复制
import matplotlib.dates as dt
import matplotlib.ticker as ticker

class SelectiveDateFormatter(ticker.Formatter):

    def __init__(self, predicate, date_formatter, tz=None):
        if tz is None:
            tz = dt._get_rc_timezone()
        self.predicate = predicate
        self.dateFormatter = date_formatter
        self.tz = tz

    def __call__(self, x, pos=0):
        if x == 0:
            raise ValueError('DateFormatter found a value of x=0, which is '
                         'an illegal date; this usually occurs because '
                         'you have not informed the axis that it is '
                         'plotting dates, e.g., with ax.xaxis_date()')
        current_date = dt.num2date(x, self.tz)
        should_print = self.predicate(current_date)
        if should_print:
            return self.dateFormatter(x, pos)
        else:
            return ""

    def set_tzinfo(self, tz):
        self.tz = tz

您可以像这样使用它来访问我的示例:

代码语言:javascript
运行
AI代码解释
复制
predicate = lambda d: d.day % 10 == 0
format = dt.DateFormatter('%d')
selective_fmt = SelectiveDateFormatter(predicate, format)
ax.xaxis.set_minor_formatter(selective_fmt)

或者只显示周末:

代码语言:javascript
运行
AI代码解释
复制
predicate = lambda d: d.weekday() >= 5
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56088566

复制
相关文章
go-echarts x 轴标签显示不全
go-echarts 是 Go 中将数据绘制成各种图表的开源库,是 Apache Echarts 的 Go 版接口,用来控制生成 Apache Echarts 图表。
恋喵大鲤鱼
2022/05/09
3.5K0
go-echarts x 轴标签显示不全
Matplotlib绘图时x轴标签重叠的解决办法
在使用Matplotlib画图时,我遇到了一个尴尬的情况,那就是当x轴的标签名字很长的时候,在绘制图形时,发生了x轴标签互相重叠的情况。 本文主要通过一个简单的示例,探索了以上描述问题的4种解决方法。
活用数据
2019/06/03
36.5K0
[Python]用matplotlib画以时间日期为x轴的图像
原文链接:https://blog.csdn.net/humanking7/article/details/80802435
祥知道
2020/03/10
4.1K0
使用 matplotlib 绘制带日期的坐标轴
使用 matplotlib 绘制带日期的坐标轴 源码及参考链接 效果图 [运行结果] 代码 import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates fig, ax = plt.subplots() """生成数据""" beginDate = '2012-01-01' endDate = '2018-01-01' # 将日期字符串转化为数字(从1970-01-01算起的天数差) x = n
iam002
2021/08/27
4.9K0
使用 matplotlib 绘制带日期的坐标轴
matplotlib:如何选定颜色
此颜色选择方式是由正则匹配的 C[0-9] 来确定颜色。只要是支持这种颜色的地方都可以通过这种方式来设置,而且也可以作为 matplotlib.Axes.plot 的单字符颜色。
bugsuse
2020/04/21
1.1K0
matplotlib:如何选定颜色
在matplotlib中关闭绘图轴的方法
# Keep making random walks, as long as the program is active
用户7718188
2021/10/08
2.3K0
Bokeh可视化笔记——x轴设为日期
Bokeh是一个很好用的可视化工具库,画出来的图还是不错滴。比如想画历史上所有合约的螺纹-热卷价差。
钱塘小甲子
2022/01/19
1.2K0
Bokeh可视化笔记——x轴设为日期
matlab绘制figure的x y轴特殊标签数据
做数据分析的Matlab用户最常见的问题之一是如何在日期轴上绘制数据。很多时候,分析师最初会使用Excel处理数据,然后用相应的工具去处理数据,分析数据。Excel有一种在日期轴上绘制数据的简单方法,但在Matlab中使用日期轴需要麻烦一点。但matlab针对这种特殊情况也有对应的一些函数,使用Matlab完成这项任务并不难,而且和大多数Matlab函数一样,它具有相当大的通用性。
用户9925864
2022/12/16
3.1K0
matlab绘制figure的x y轴特殊标签数据
Python+matplotlib数据可视化创建多轴域共享x轴
使用Python+matplotlib进行数据可视化,创建两个轴域并共享x轴,然后在两个轴域中分别绘制散点图和折线图,并为两个图形创建图例。
Python小屋屋主
2021/08/10
1.4K0
原创 | matplotlib画图教程,设置坐标轴标签和间距
在上周的文章当中我们介绍了如何通过xlabel和ylabel设置坐标轴的名称,以及这两个函数的花式设置方法,可以设置出各种各样的名称显示方法。今天我们来介绍介绍其他的设置。
TechFlow-承志
2020/09/22
2.2K0
原创 | matplotlib画图教程,设置坐标轴标签和间距
matplotlib作图的时候x轴的小数点如何去掉呢?
前几天在Python白银交流群【千葉ほのお】问了一道matplotlib可视化处理的问题,如下图所示。
前端皮皮
2022/08/17
1.5K0
matplotlib作图的时候x轴的小数点如何去掉呢?
echarts X轴显示不全如何处理(显示完全以及换行)
昨天在Python最强王者交流群【鱼鱼鱼也不】问了一个echarts作图的问题,下图是讨论截图:
前端皮皮
2022/08/17
2.7K0
echarts X轴显示不全如何处理(显示完全以及换行)
EasyCVR播放时间轴不显示日期,该如何解决?
EasyCVR平台可拓展性强、部署轻松、视频能力丰富,支持海量视频设备接入、视频汇聚与管理、转码与分发、告警上报、平台级联、智能分析等。平台采用设备树对设备进行分组分级管理,对整合的视频监控资源的应用需求给予相应的操作权限,实现视频监控资源的最大化应用。
TSINGSEE青犀视频
2022/10/20
8330
用matplotlib在同一个画布显示20个 双y轴折线图
前几天在Python白银群【巭孬嫑勥烎】问了一个Python可视化的问题,这里拿出来给大家分享下。
Python进阶者
2023/08/31
2320
用matplotlib在同一个画布显示20个 双y轴折线图
highcharts中的x轴如何显示时分秒时间格式
上一篇文章写道:三分钟上手Highcharts简易甘特图:https://www.jianshu.com/p/d669d451711b,在官方文档里面,x轴默认为年月日。
王小婷
2018/09/26
4.5K0
x轴换行
//格式化图表横坐标文字 let textFormatter = function(e) { let arr = e.split(",");/// 将字符串转数组 let str = arr[0] + "\n" + arr[1]; return str; };
用户4344670
2020/06/19
1.9K0
x轴换行
聊一聊matplotlib绘图时自定义坐标轴标签顺序
今天我们聊一个matplotlib绘图问题,就是关于如何对坐标轴标签(常见的x轴标签)按照自定义的顺序走。
可以叫我才哥
2021/08/05
4.9K0
Python在tkinter界面中显示matplotlib动画
在tkinter应用程序界面中同时显示matplotlib绘制的动态折线图、动态散点图和动态柱状图。
Python小屋屋主
2020/02/23
5.1K0
matplotlib的基本用法——调整坐标轴
本文主要是关于matplotlib的一些基本用法。 Demo import matplotlib.pyplot as plt import numpy as np # 绘制普通图像 x = np.linspace(-1, 1, 50) y1 = 2 * x + 1 y2 = x**2 plt.figure() plt.plot(x, y1) plt.plot(x, y2, color = 'red', linewidth = 1.0, linestyle = '--') # 设置坐标轴的取值范围 p
Tyan
2019/05/25
1.5K0
在OS X上的Docker
在OS X上使用Docker进行开发,可以通过两种方式来实现:使用boot2docker或创建一个Linux虚拟机。使用boot2docker可以快速启动Docker,但需要使用Vagrant进行配置。创建一个Linux虚拟机可以更好地与本地开发环境兼容,但需要手动安装和配置Docker。无论哪种方式,都需要注意端口映射和安全性问题。
Techeek
2018/01/03
1.4K0
在OS X上的Docker

相似问题

在matplotlib上争论x轴日期时间标签

12

不规则matplotlib日期x轴标签?

21

[matplotlib]:在x轴上写入日期

13

无法在matplotlib x轴上显示Pandas日期索引

26

如何在matplotlib中在x轴上显示日期?

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档