Python之matplotlib学习(三)

例子11-1:横坐标时间的处理

1
2
3
4
5
6
7
8
9
10
from matplotlib.dates import datestr2num,DateFormatter
 
import matplotlib.dates as dates
 
fig,ax=plt.subplots()
formatter = DateFormatter('%H')
#设置时间间隔
ax.xaxis.set_major_locator(dates.HourLocator(byhour=range(24), interval=4))
ax.xaxis.set_major_formatter(formatter)
ax.plot_date(datestr2num(time_list),iops_list,'-',label='iops')

 

输出结果:

例子11-2:纵坐标处理

原图:

 

从图上看纵坐标区间过大,不利用查看。

改成200为步长:

1
2
3
import matplotlib.ticker as tk
 
ax.yaxis.set_major_locator(tk.MultipleLocator(200))

 

输出结果:

例子11-3:纵坐标处理——按照分钟进行间隔

如下是原始输出的图

时间轴每5分钟一次,过于太密,想改成如下效果:

按照分钟级别进行汇总,代码修改的地方如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import matplotlib.dates as dates
ax.xaxis.set_major_locator(dates.MinuteLocator(byminute=range(60), interval=10))
 
>>> import matplotlib.dates as dates
>>> help(dates)
 
#查看帮助文档
Here are all the date tickers:
     
        * :class:`MinuteLocator`: locate minutes
     
        * :class:`HourLocator`: locate hours
     
        * :class:`DayLocator`: locate specifed days of the month
     
        * :class:`WeekdayLocator`: Locate days of the week, eg MO, TU
     
        * :class:`MonthLocator`: locate months, eg 7 for july
     
        * :class:`YearLocator`: locate years that are multiples of base
     
 
     ----------------------------------------------------------------------
     |  Data and other attributes inherited from DateLocator:
     
     |  hms0d = {'byhour': 0, 'byminute': 0, 'bysecond': 0}

 

 

posted @   小郭学路  阅读(5837)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示