it-swarm.com.de

Xticks in einem matplotlib-Plot entfernen?

Ich habe einen Semilogx-Plot und möchte die xticks entfernen. Ich habe es versucht:

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

Das Gitter verschwindet (ok), aber kleine Häkchen (an der Stelle der Haupthäkchen) bleiben übrig. Wie entferne ich sie?

233
Vincent

Die tick_params -Methode ist für solche Dinge sehr nützlich. Dieser Code deaktiviert Haupt- und Nebenstriche und entfernt die Beschriftungen von der x-Achse.

_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

388
John Vinyard

Nicht genau das, wonach das OP gefragt hat, aber eine einfache Möglichkeit zum Deaktivieren aller Achsenlinien, -häkchen und -beschriftungen besteht darin, einfach Folgendes aufzurufen:

plt.axis('off')
107
Martin Spacek

Hier ist eine alternative Lösung, die ich auf der Matplotlib-Mailingliste gefunden habe:

import matplotlib.pylab as plt

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

graph

62
Tom Phillips

Alternativ können Sie eine leere Häkchenposition übergeben und als beschriften

plt.xticks([], [])
58
hashmuke

Es gibt eine bessere und einfachere Lösung als die von John Vinyard. Verwenden Sie NullLocator:

import matplotlib.pyplot as plt

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

Ich hoffe, das hilft.

39
dmcdougall

Versuchen Sie dies, um die Beschriftungen (aber nicht die Häkchen) zu entfernen:

import matplotlib.pyplot as plt

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

Beispiel

24
auraham

Dieses Snippet hilft möglicherweise nur beim Entfernen der xticks.

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

Dieses Snippet kann beim Entfernen der xticks und yticks hilfreich sein.

from matplotlib import pyplot as plt    
plt.xticks([]),plt.yticks([])
9
Amitrajit Bose
# 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')
2