Xticks verwijderen in een matplotlib-plot?

Ik heb een Semilogx-plot en ik wil de Xticks verwijderen. Ik heb geprobeerd:

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

Het raster verdwijnt (OK), maar kleine teken (op de plaats van de hoofdticks) blijven. Hoe ze te verwijderen?


Antwoord 1, Autoriteit 100%

De plt.tick_paramsmethode is erg handig voor dingen zoals deze. Deze code wordt belangrijke en kleine tikken uitgeschakeld en verwijdert de labels van de X-as.

Merk op dat er ook ax.tick_paramsvoor matplotlib.axes.Axesobjecten.

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


Antwoord 2, Autoriteit 33%

Niet precies wat het OP vroeg, maar een eenvoudige manier om alle assenlijnen uit te schakelen, tekent en labels is gewoon om:

plt.axis('off')

Antwoord 3, Autoriteit 20%

U kunt ook een leeg vinkje doorgeven en labelen als

# for matplotlib.pyplot
# ---------------------
plt.xticks([], [])
# for axis object
# ---------------
# from Anakhand May 5 at 13:08
# for major ticks
ax.set_xticks([])
# for minor ticks
ax.set_xticks([], minor=True)

Antwoord 4, autoriteit 13%

Hier is een alternatieve oplossing die ik heb gevonden op de matplotlib mailinglijst:

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


Antwoord 5, autoriteit 8%

Er is een betere en eenvoudigere oplossing dan die van John Vinyard. Gebruik NullLocator:

import matplotlib.pyplot as plt
plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')

Hopelijk helpt dat.


Antwoord 6, autoriteit 5%

Probeer dit om de labels te verwijderen (maar niet de vinkjes):

import matplotlib.pyplot as plt
plt.setp( ax.get_xticklabels(), visible=False)

voorbeeld


Antwoord 7, autoriteit 3%

Dit fragment kan alleen helpen bij het verwijderen van de xticks.

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

Dit fragment kan helpen bij het verwijderen van de xticks en yticks beide.

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

Antwoord 8

Degenen onder jullie die op zoek zijn naar een kort commando om alle vinkjes en labels uit te schakelen, zouden goed moeten zijn met

plt.tick_params(top=False, bottom=False, left=False, right=False,
                labelleft=False, labelbottom=False)

die type booltoestaat voor respectievelijke parameters sinds versie matplotlib>=2.1.1

Voor aangepaste vinkjes zijn de documenten handig:

https://matplotlib.org/api/_as_gen/matplotlib. axes.Axes.tick_params.html


Antwoord 9

# 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')

Antwoord 10

Wijzig de volgende rc-parameters door de opdrachten aan het script toe te voegen:

plt.rcParams['xtick.bottom'] = False
plt.rcParams['xtick.labelbottom'] = False

Een voorbeeld van een matplotlibrc-bestand wordt weergegeven in dit gedeeltevan de matplotlib-documentatie, die veel andere parameters bevat, zoals het wijzigen van de figuurgrootte, de kleur van de figuur, animatie-instellingen, enz.

Other episodes