Matplotlib之设置坐标轴刻度及标签

 

现在有两组数据,要绘制成散点图。画完图后还要将坐标轴的标签重新改为时间格式

import matplotlib.pyplot as plt
from matplotlib.dates import mdate

x = [737014, 737015, 737015]
y = [0.58, 0.69, 0.45]

plt.scatter(x, y)

正常画完是这样的:

x轴数据其实从公元元年1月1日开始到某个日期的天数(0001年1月1日)

y轴表示某一时间点转换成秒数后除以全天转换成秒数的商

下面对坐标轴的刻度和表面进行改造:

首先x轴数据实际上只有两个,其中有两个数是重复的,所以先将坐标轴进行去重:

plt.gca().xaxis.set_major_locator(mdate.DayLocator())

其次x轴要显示成日期,所以再添加下面代码:

plt.gca().set_xticklabels(["2018-11-16", "2018-11-17", "2018-11-18" ])

如果不设置标签很容易会随机生成日期标签,不一定就是自己想要的。

最后进行时间格式设置

plt.gca().xaxis.set_major_formatter(mdate.DateFormatter("%Y/%m/%d"))

mdate.DateFormatter("%Y/%m/%d") 是设置时间显示的格式

真的很神奇,因为我并没有将天数转换成日期,只是设置了时间的显示格式。

可能是matplotlib内部设置的有转换机制吧。

如果不设置的话坐标轴显示的只有年份没有月份和天数。

像下面这样:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值