Подтвердить что ты не робот

Удалите галочки по оси x, сохраняя сетки (matplotlib)

Я хочу удалить тики по оси 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)

Как сохранить сетку при невидимости титров х-оси?

4b9b3361

Ответ 1

Удалив тики, вы имеете в виду удалить метки тика или сами клещи? Это приведет к удалению меток:

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:

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()