隐藏matplotlib中的轴值

Lui*_*uez 75 python matplotlib

我有这个图像:

plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我使用的话,我不想隐藏这些数字

plt.axis('off')
Run Code Online (Sandbox Code Playgroud)

我得到这个图像:

在此输入图像描述

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

tmd*_*son 97

如果您使用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()
Run Code Online (Sandbox Code Playgroud)

  • 适用于删除刻度标签,但您仍然可以获得刻度标记... (9认同)
  • 要删除刻度线,还需添加 `ax.set_yticks([])`。 (3认同)

Noe*_*ans 68

没有a subplots,你可以普遍删除这样的刻度:

plt.xticks([])
plt.yticks([])
Run Code Online (Sandbox Code Playgroud)


小智 34

这非常有效.只需粘贴之前plt.show():

plt.gca().axes.get_yaxis().set_visible(False)
Run Code Online (Sandbox Code Playgroud)

繁荣.

  • 或者如果你已经有了 ax 对象,`ax.xaxis.set_visible(False)` (3认同)
  • 谢谢,这很好。在其他情况下,将保留刻度线(因为默认情况下刻度线方向是无效的) (2认同)
  • @spinup `ax.axes.get_xaxis().set_visible(False)` 也有效 (2认同)

Joe*_*vin 5

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

import matplotlib.pyplot as plt
x = range(10)
y = range(10)
plt.plot(x,y)
plt.xticks(x," ")
plt.show()
Run Code Online (Sandbox Code Playgroud)

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

这个相关问题也有一些更好的建议: Hiding axis text in matplotlibplots

我是蟒蛇新手。您的里程数在早期版本中可能会有所不同。也许其他人可以帮忙?


Poe*_*tor 5

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

ax.set_yticks([])
ax.set_xticks([])
Run Code Online (Sandbox Code Playgroud)

否则ax.set_yticklabels([])ax.set_xticklabels([])将保留刻度线。