我有两个列表,大小相同,一个是 y_data,一个是 x_data x_data 是白天的 hh:mm:ss 时间,实际上是每分钟 每个系列的长度为 1440。
问题是:
fig = Figure(figsize=(4,3))
a = gif.add_subplot(111)
a.plot(x_data, y_data)
给出一个不可读的 x_axis(标签太多),例如,如果我将 x_data 减少到 [range(24)]
,绘图会出错。
问题:
我只想在 x_axis 刻度上有 24 个项目(每小时,所以每 60 个 x_data 点有 1 个项目)
有没有一种简单的方法可以实现这一目标? set_autoscale_on(False)
然后手动设置限制似乎是实现此目的的一种非常复杂的方法(我会失去 y 轴上自动缩放的好处)。
另一个解决方案似乎涉及 a.xaxis.set_ticks()
但我必须创建一个新系列。
o 我想使用 x_data 但只是限制 x_axis 上显示的刻度数,有没有办法做到这一点?
最佳答案
matplotlib的pyplot接口(interface)提供了一个函数locator_params ,您可以在其中设置此选项:
fig = Figure(figsize=(4,3))
a = fig.add_subplot(111)
a.plot(x_data, y_data)
a.locator_params(nbins=4)
关于Python 和 plot() : how to limit the number of x-axis ticks (labels),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533261/