2017-07-12 3 views

Antwort

4

Dies ist in der Tat eine verwirrende Angelegenheit.

In der englischen Sprache ist der Singular Achse und der Plural Achsen. Zwei der Art Achse bilden zwei Achsen.

In Matplotlib wird ein Objekt matplotlib.axes._axes.Axes oft einfach "Achsen" genannt. Dieses Objekt enthält eine Xaxis und eine Yaxis, daher der Name. Aber wenn man von diesem Objekt spricht, würde man es im Singular Äxte nennen. Einige davon werden immer noch als Achsen bezeichnet.

Jedes Subplot ist eine Achse, aber es gibt Achsen, die keine Subplots sind. Zum Beispiel Eine Achse, die durch den Subplot-Mechanismus erzeugt wird, ist eine . Diese Klasse leitet sich von matplotlib.axes._axes.Axes ab, daher ist dieser Teilplot eine Achse. Sie können jedoch auch Achsen über verschiedene Mechanismen erzeugen, z. indem Sie der Figur eine Achse hinzufügen, fig.add_axes(). Dies wäre dann kein Nebenplot, sondern eine Achse, matplotlib.axes._axes.Axes.

import matplotlib.pyplot as plt 

fig, ax = plt.subplots() 

print(ax)   # Axes(0.125,0.11;0.775x0.77) 
print(type(ax)) # <class 'matplotlib.axes._subplots.AxesSubplot'> 

ax2 = fig.add_axes([0.8,0.1,0.05,0.8]) 

print(ax2)  # Axes(0.8,0.1;0.05x0.8) 
print(type(ax2)) # <class 'matplotlib.axes._axes.Axes'> 

Es gibt auch andere Achsen, wie z.B. Inset-Achsen, mpl_toolkits.axes_grid1.parasite_axes.AxesHostAxes. Dieses Objekt würde auch als Achsen bezeichnet werden.

from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes 
axins = zoomed_inset_axes(ax, 0.2, loc=3) 

print(axins)  # Axes(0.125,0.11;0.775x0.77)  
print(type(axins)) # <class 'mpl_toolkits.axes_grid1.parasite_axes.AxesHostAxes'> 
+0

Können Sie etwas mehr über die Gedanken hinter dem Namen "Achsen" erklären? Laut der Abbildung [hier] (https://stackoverflow.com/a/33263181) scheint die Achse eher etwas wie eine Zeichenfläche oder eine schwebende Leinwand zu sein, anstatt nur die x- und y-Achse. Ich frage mich, warum dieses Objekt "Achsen" genannt wird, wenn es wirklich eine Zeichnungsfläche bedeutet. Vielen Dank! – xslittlegrass

+0

@xslittlegrass Die "Achsen" in Matplotlib ist wirklich das 'matplotlib.axes._axes.Axes' Objekt, das die Xaxis, Yaxis, ihre Beschriftungen, Ticks usw. enthält. Die Leinwand ist alles; es kann eine Figur beherbergen und eine Figur kann mehrere Achsen beherbergen. Wir sprechen nicht über Zeichnungsfläche, weil Sie überall zeichnen können, auch außerhalb der Achsen. – ImportanceOfBeingErnest

2

Achsen ist der Plural der Achse. Ein subplot hat gewöhnlich eine x -Achse und eine y -Achse, die zusammen die der subplot beiden Achsen bilden.

reden Lassen Sie uns in Bezug auf die Funktion/Klassennamen:

Figure.add_subplot oder pyplot.subplot zurückgeben AxesSubplot Objekt. Dieser enthält wiederum ein XAxis und ein YAxis Objekt.

fig = plt.figure() 
ax = fig.add_subplot(111) 
x = ax.xaxis 

print(type(ax)) # matplotlib.axes._subplots.AxesSubplot 
print(type(x)) # matplotlib.axis.XAxis 

XAxis aus Basisklasse Axis abgeleitet. AxesSubplot ist von SubplotBase und Axes abgeleitet.

Verwandte Themen