Antworten:
Die tick_params
Methode ist sehr nützlich für solche Dinge. Dieser Code deaktiviert große und kleine Häkchen 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()
plt.tick_params(axis='both', which='both', bottom='off', top='off', labelbottom='off', right='off', left='off', labelleft='off')
axes
die gleiche tick_params
Methode.
matplotlib
, sollten Sie ersetzen 'on'
mit True
und 'off'
mit False
.
Nicht genau das, wonach das OP gefragt hat, aber eine einfache Möglichkeit, alle Achsenlinien, Häkchen und Beschriftungen zu deaktivieren, besteht darin, einfach Folgendes aufzurufen:
plt.axis('off')
ax.axis('off')
auf einer vorhandenen Achseninstanz befinden.
Alternativ können Sie eine leere Häkchenposition übergeben und als kennzeichnen
# 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)
ax
können Sie Folgendes verwenden:ax.set_xticks([], [])
ax.set_xticks([])
für große Zecken, ax.set_xticks([], minor=True)
für kleine Zecken. Äquivalente mit pyplot
sind plt.xticks([])
und plt.xticks([], minor=True)
.
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')
Es gibt eine bessere und einfachere Lösung als die von John Vinyard. Verwendung NullLocator
:
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')
Hoffentlich hilft das.
axins.xaxis.set_major_locator(plt.NullLocator())
, wo axins
wird das Objekt zurückgegeben von axins = zoomed_inset_axes()
(Funktion importiert von mpl_toolkits.axes_grid1.inset_locator
).
Versuchen Sie dies, um die Etiketten (aber nicht die Häkchen) zu entfernen:
import matplotlib.pyplot as plt
plt.setp( ax.get_xticklabels(), visible=False)
setp
ist im Pylab-Modus, kann nicht gegen einzelne Achsen verwendet werden
Dieses Snippet kann nur beim Entfernen der xticks helfen.
from matplotlib import pyplot as plt
plt.xticks([])
Dieses Snippet kann beim Entfernen der beiden xticks und yticks hilfreich sein.
from matplotlib import pyplot as plt
plt.xticks([]),plt.yticks([])
# 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')
ax.tick_params()
off
und on
ist veraltet. MatplotlibDeprecationWarning: Passing one of 'on', 'true', 'off', 'false' as a boolean is deprecated; use an actual boolean (True/False) instead.
Diejenigen unter Ihnen, die nach einem kurzen Befehl zum Ausschalten aller Häkchen und Beschriftungen suchen, sollten damit einverstanden sein
plt.tick_params(top=False, bottom=False, left=False, right=False, labelleft=False, labelbottom=False)
bool
Dies ermöglicht den Typ für die jeweiligen Parameter, da die Version matplotlib> = 2.1.1 ist
Für benutzerdefinierte Tick-Einstellungen sind die Dokumente hilfreich:
https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html
ax.set_xticks([], [])
und es ist gelöst ...