隐藏刻度标签值,但保留轴标签

我有这样一个想法:

plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()

enter image description here

我想隐藏数字,如果我使用:

plt.axis('off')

我脑海中浮现出这样的画面:

enter image description here

它还隐藏了标签,Vt。我怎样才能在隐藏值的同时保留标签?

304167 次浏览

不知道这是不是最好的方法,但你肯定可以像下面这样替换蜱标签:

import matplotlib.pyplot as plt
x = range(10)
y = range(10)
plt.plot(x,y)
plt.xticks(x," ")
plt.show()

在 Python 3.4中,这会生成一个简单的线条图,x 轴上没有刻度标签。这里有一个简单的例子: Http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

这个相关的问题也有一些更好的建议: 在 matplotlib 图中隐藏轴文本

我对巨蟒还是个新手。在早期的版本中,你的长度可能会有所不同。也许其他人可以帮助你?

如果使用 matplotlib 面向对象方法面向对象方法,这是一个使用 ax.set_xticklabels()ax.set_yticklabels()的简单任务。在这里,我们只需将它们设置为一个空列表,以删除任何标签:

import matplotlib.pyplot as plt


# Create Figure and Axes instances
fig,ax = plt.subplots(1)


# Make your plot, set your axes labels
ax.plot(sim_1['t'],sim_1['V'],'k')
ax.set_ylabel('V')
ax.set_xlabel('t')


# Turn off tick labels
ax.set_yticklabels([])
ax.set_xticklabels([])


plt.show()

如果你也想除去刻度标记和标签,你可以使用 ax.set_xticks()ax.set_yticks()并将它们设置为一个空列表:

ax.set_xticks([])
ax.set_yticks([])

如果没有 subplots,你可以像下面这样普遍地去除虱子:

plt.xticks([])
plt.yticks([])

这个效果很好。只要在 plt.show()之前粘贴:

plt.gca().axes.get_yaxis().set_visible(False)

砰。

完全清除标记的方法:

ax.set_yticks([])
ax.set_xticks([])

否则 ax.set_yticklabels([])ax.set_xticklabels([])将保持标记。

plt.gca().axes.yaxis.set_ticklabels([])

enter image description here

这个也可以。

fig, ax = plt.subplots()
ax.yaxis.set_major_locator(plt.NullLocator())
ax.xaxis.set_major_formatter(plt.NullFormatter())

看看这本书为自定义滴答声不错的提示 Https://jakevdp.github.io/pythondatasciencehandbook/04.10-customizing-ticks.html