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

drkbr07n  于 2023-04-07  发布在  其他
关注(0)|答案(8)|浏览(277)

我有这样的形象:

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

我想把数字隐藏起来;如果我用途:

  1. plt.axis('off')

我看到了这个画面

它还隐藏了标签Vt。如何在隐藏值的同时保留标签?

xqnpmsa8

xqnpmsa81#

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

  1. import matplotlib.pyplot as plt
  2. # Create Figure and Axes instances
  3. fig,ax = plt.subplots(1)
  4. # Make your plot, set your axes labels
  5. ax.plot(sim_1['t'],sim_1['V'],'k')
  6. ax.set_ylabel('V')
  7. ax.set_xlabel('t')
  8. # Turn off tick labels
  9. ax.set_yticklabels([])
  10. ax.set_xticklabels([])
  11. plt.show()

如果您还想删除刻度线和标签,您可以使用ax.set_xticks()ax.set_yticks()并将它们设置为空列表:

  1. ax.set_xticks([])
  2. ax.set_yticks([])
展开查看全部
wgxvkvu9

wgxvkvu92#

如果没有subplots,你可以像这样删除ticks:

  1. plt.xticks([])
  2. plt.yticks([])
ftf50wuq

ftf50wuq3#

这很好用。只需将此粘贴到plt.show()之前:

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

mrzz3bfm4#

要完全删除刻度线,请用途:

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

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

sxpgvts3

sxpgvts35#

我不确定这是不是最好的方法,但是你可以像这样替换刻度标签:

  1. import matplotlib.pyplot as plt
  2. x = range(10)
  3. y = range(10)
  4. plt.plot(x,y)
  5. plt.xticks(x," ")
  6. plt.show()

在Python 3.4中,这会生成一个简单的线图,x轴上没有刻度标签。一个简单的例子如下:http://matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html
这个相关的问题也有一些更好的建议:Hiding axis text in matplotlib plots
我是python的新手。你的里程可能会在早期版本中有所不同。也许其他人可以帮助?

uyhoqukh

uyhoqukh6#

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

toe95027

toe950277#

这也行得通。

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

请参阅本书以获得自定义滴答https://jakevdp.github.io/PythonDataScienceHandbook/04.10-customizing-ticks.html的好技巧

cwxwcias

cwxwcias8#

有了这个就足够了:

  1. plt.xticks(color='w')

相关问题