【发布时间】:2013-08-27 14:11:34
【问题描述】:
我想在轴上有次要刻度,但只显示主要刻度标签。例如,次要刻度是 [19, 20, 21, ... 40, 41],主要刻度标签是 [20, 25, 30, 35, 40]。我该怎么做?下面的代码没有完成这项工作。我知道可以使用 MultipleLocator、FormatStrFormatter,例如 this example。但是,我在轴上的值有点“奇怪”,起始值为 19(不是 20),结束值为 41,这在使用 MultipleLocator 时会造成困难。
import numpy as np
from matplotlib import pylab as plt
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(19.,41,23)
y = x**2
ax.plot(x,y)
ax.set_xticks(x)
ax.set_xticklabels(x, minor=False)
plt.show()
它给了我以下情节:
或ax.set_xticklabels([20, 25, 30, 35, 40], minor=False)
给我另一个情节:
我怎样才能改变我的代码来得到我需要的东西。非常感谢您的帮助!
【问题讨论】:
-
使用
FixedLocator。set_xticks和set_xticklabels很危险,应该很少使用。
标签: python matplotlib labels