【发布时间】:2020-03-30 00:33:48
【问题描述】:
我想抑制 pyplot 自动生成的刻度标签,以支持我自己的标签。当我在以下 Python 脚本中使用 pyplot.yticks([]) 抑制 y-tick 标签时,
from matplotlib import pyplot as plt
num_points = 10
data = [i for i in range(num_points)]
fig = plt.figure()
ax = plt.subplot(1,1,1)
ax.plot(data)
ax.set_yscale('log')
plt.yticks([])
plt.text(1, 7, '10 data points')
plt.show()
pyplot 根据需要抑制 y-tick 标签:
但是当num_points小于十时,pyplot会忽略pyplot.yticks([]),插入其自动生成的刻度标签,并产生
当我通过plt.yticks(values_list, labels_list) 提供值列表和标签列表来提供自己的刻度标签时,pyplot.yticks() 接受我的标签,但它仍然绘制其自动生成的刻度标签,覆盖我的标签。
如果我通过省略ax.set_yscale('log') 语句将九点对数图更改为线性图,pyplot 不会自动绘制生成刻度标签:
问题似乎与少于十个点的对数图有关。如何在少于十个点的对数图中抑制自动生成的刻度标签?
【问题讨论】:
标签: python matplotlib