Удалить xticks в сюжете matplotlib?



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



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


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

629   7  

7 ответов:

The 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

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

plt.axis('off')

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

import matplotlib.pylab as plt

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

graph

кроме того, вы можете передать пустую позицию тика и метку как

plt.xticks([], [])

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

import matplotlib.pyplot as plt

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

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

попробуйте это, чтобы удалить метки (но не галочки):

import matplotlib.pyplot as plt

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

пример

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

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

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

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

Comments

    Ничего не найдено.