删除x轴刻度,同时保留网格(matplotlib)
我想删除x轴上的刻度,但保持垂直网格。当我执行以下操作时,我同时失去了x轴刻度和网格。
import matplotlib.pyplot as pltfig = plt.figure()
figr = fig.add_subplot(211)
...
figr.axes.get_xaxis().set_visible(False)
figr.xaxsis.grid(True)
如何在使X轴刻度线不可见的同时保留网格?
回答:
删除刻度线是指删除刻度线标签还是刻度线本身?这将删除标签:
import matplotlib.pyplot as pltimport numpy as np
x = np.linspace(0, 2*np.pi, 100)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, np.sin(x))
ax.grid(True)
ax.set_xticklabels([])
plt.show()
如果您真的想摆脱那些小的刻度线,可以添加以下内容:
for tic in ax.xaxis.get_major_ticks(): tic.tick1On = tic.tick2On = False
您也可以在 ****此处
关闭刻度线
,而无需ax.set_xticklabels([])
通过设置tic.label1On
= tic.label2On = False以下方法来使用“ hack” :
import matplotlib.pyplot as pltimport numpy as np
x = np.linspace(0, 2*np.pi, 100)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, np.sin(x))
ax.grid(True)
for tic in ax.xaxis.get_major_ticks():
tic.tick1On = tic.tick2On = False
tic.label1On = tic.label2On = False
plt.show()
以上是 删除x轴刻度,同时保留网格(matplotlib) 的全部内容, 来源链接: utcz.com/qa/401932.html