删除x轴刻度,同时保留网格(matplotlib)

我想删除x轴上的刻度,但保持垂直网格。当我执行以下操作时,我同时失去了x轴刻度和网格。

import matplotlib.pyplot as plt

fig = plt.figure()

figr = fig.add_subplot(211)

...

figr.axes.get_xaxis().set_visible(False)

figr.xaxsis.grid(True)

如何在使X轴刻度线不可见的同时保留网格?

回答:

删除刻度线是指删除刻度线标签还是刻度线本身?这将删除标签:

import matplotlib.pyplot as plt

import 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 plt

import 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

回到顶部