Matplotlib: Y-Achse ausblenden, X-Achse behalten

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Michl Fhain
User
Beiträge: 1
Registriert: Samstag 9. März 2019, 02:56

Samstag 9. März 2019, 03:05

Hallo, ich habe dazu leider noch nichts passendes im Web finden können:

Ich würde gerne die Y-Achse aus einem Pyplot entfernen und nur die "untere" X-Achse (y = 0) behalten wollen. Und wenn es geht gerne ohne Ticks aber mit Ticklabels.

Ich habe es mit

Code: Alles auswählen

plt.gca().yaxis().set_visible(False)
probiert. Das zeigt aber immer noch die y-Achse an, nur ohne Ticks und Labels. Mit

Code: Alles auswählen

ax = plt.subplot()
ax.tick_params(axis='both', which='both', length=0)
kann ich immerhin die Ticks entfernen.

Gibt es hier eine Möglichkeit, dies umzusetzen?

Vielen Dank
Michl
Agost
User
Beiträge: 2
Registriert: Donnerstag 4. April 2019, 14:14

Donnerstag 4. April 2019, 14:30

Achsen lassen sich gut manipulieren, wenn SubplotZero verwendet wird (siehe Matplotlib-Dokumentation)
Beispiel:

Code: Alles auswählen

import matplotlib.pyplot as plt
import numpy as np

from mpl_toolkits.axes_grid.axislines import SubplotZero

plt.rcdefaults()
fig = plt.figure(dpi=200, facecolor="white")
ax = SubplotZero(fig, 111, axisbg="white")
fig.add_subplot(ax)

#Bearbeitung der Achsen
ax.axis['xzero'].set_visible(True)
ax.axis['yzero'].set_visible(False)
for direction in ["left", "right", "bottom", "top"]:
    ax.axis[direction].set_visible(False)

x = np.arange(-1, 10,0.1) 
ax.plot(x, np.sin(x))

plt.show()
Antworten