Удалить xticks на графике matplotlib?

У меня есть semilogx сюжет, и я хотел бы удалить xticks. Я пробовал:

plt.gca().set_xticks([])
plt.xticks([])
ax.set_xticks([])

Сетка исчезает (ok), но небольшие тики (на месте основных тиков) остаются. Как их удалить?

Ответ 1

Метод tick_params очень полезен для подобных вещей. Этот код отключает основные и второстепенные тики и удаляет метки с оси X.

from matplotlib import pyplot as plt
plt.plot(range(10))
plt.tick_params(
    axis='x',          # changes apply to the x-axis
    which='both',      # both major and minor ticks are affected
    bottom=False,      # ticks along the bottom edge are off
    top=False,         # ticks along the top edge are off
    labelbottom=False) # labels along the bottom edge are off
plt.show()
plt.savefig('plot')
plt.clf()

enter image description here

Ответ 2

Не совсем то, о чем просил OP, но простой способ отключить все оси, тики и метки - просто вызвать:

plt.axis('off')

Ответ 3

В качестве альтернативы вы можете передать пустое положение и метку как

plt.xticks([], [])

Ответ 4

Вот альтернативное решение, которое я нашел в списке рассылки matplotlib:

import matplotlib.pylab as plt

x = range(1000)
ax = plt.axes()
ax.semilogx(x, x)
ax.xaxis.set_ticks_position('none') 

graph

Ответ 5

Существует лучшее и более простое решение, чем тот, который дал Джон Винярд. Используйте NullLocator:

import matplotlib.pyplot as plt

plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')

Надеюсь, что это поможет.

Ответ 6

Попробуйте удалить метки (но не тики):

import matplotlib.pyplot as plt

plt.setp( ax.get_xticklabels(), visible=False)

example

Ответ 7

Этот фрагмент может помочь только в удалении ссылок.

from matplotlib import pyplot as plt    
plt.xticks([])

Этот фрагмент может помочь в удалении как xticks, так и yticks.

from matplotlib import pyplot as plt    
plt.xticks([]),plt.yticks([])

Ответ 8

# remove all the ticks (both axes), and tick labels on the Y axis
plt.tick_params(top='off', bottom='off', left='off', right='off', labelleft='off', labelbottom='on')