【发布时间】:2015-12-10 08:40:04
【问题描述】:
我正在尝试设置 x 刻度标签,但允许 matplotlib 决定放置刻度的位置。不幸的是,当我设置 x 刻度标签时,matplotlib 只会将标签字符串用于已显示的刻度。
例子:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
xs = range(26)
ys = range(26)
ax.plot(xs, ys)
ax.set_xticklabels(list('abcdefghijklmnopqrstuvwxyz'))
plt.show()
这给出了:
这对我来说很不直观;我希望标签与它们显示的点相对应。 (不过,我可以理解这种行为在绘制不使用相同 x 值的多个系列时更有用。)
注意:我不希望所有 26 个字母都作为刻度。相反,我只想要 6 个(正如 matplotlib 所建议的那样),但是这 6 个应该适合他们的位置。这样就可以轻松更改无花果大小,而无需手动重新计算新的刻度标签。
我怎样才能达到预期的效果?
【问题讨论】:
-
这是
set_ticklabels危险的原因之一,它是FixedFormatter的传递,只能与FixedLocator一起使用。
标签: python matplotlib