Wenn ich Merkmalsmengen beim maschinellen Lernen usw. betrachte, möchte ich verschiedene Diagramme zeichnen. Diagramme sind auch wichtig, um sie anderen zu erklären (insbesondere Chefs, Bosse, Bosse ...). Wenn Sie es nicht klar schreiben, müssen Sie von vorne beginnen. Ich habe die Prozesse aufgelistet, die zu diesem Zeitpunkt nützlich sein können.
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(15, 8), dpi=100)
ax1 = plt.axes()
Die Feigengröße beträgt (horizontal, vertikal) Zoll und die dpi ist die Anzahl der Pixel pro Zoll. In diesem Fall handelt es sich also um ein 1500 x 800-Bild. dpi = 100 ist die Standardeinstellung, figsize ist die Standardeinstellung (6,4), Neuere Anzeigen sind horizontaler und haben eine höhere Bildqualität, daher habe ich sie auf (15,8) eingestellt.
fig = plt.figure(figsize=(15, 8), dpi=100)
ax1 = plt.subplot(2, 2, 1) #1. Reihe 1. Spalte
ax2 = plt.subplot(2, 2, 2) #1. Reihe, 2. Spalte
ax3 = plt.subplot(2, 2, 3) #2. Reihe 1. Spalte
ax4 = plt.subplot(2, 2, 4) #2. Reihe, 2. Spalte
Oder gemeinsam
fig, ax = plt.subplots(2, 2, figsize=(15, 8), dpi=100)
ax1 = ax[0, 0] #1. Reihe 1. Spalte
ax2 = ax[0, 1] #1. Reihe, 2. Spalte
ax3 = ax[1, 0] #2. Reihe 1. Spalte
ax4 = ax[1, 1] #2. Reihe, 2. Spalte
Alternativ kann es dynamisch hinzugefügt werden.
fig = plt.figure(figsize=(15, 8), dpi=100)
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)
import numpy as np
y = np.random.randn(100) #Probieren Sie 100 Stück aus der Standardnormalverteilung
x = np.arange(y.shape[0])
ax1.plot(y, x, linewidth=0.5)
Linienbreite ist die Dicke der Linie. Andere Dinge, die wahrscheinlich verwendet werden, sind Farbe, Linientyp, Marker, Etikett, Zorder usw.
Es gibt andere kwargs, die matplotlib.pyplot.plot verwenden können, und die Line2D-Eigenschaft kann verwendet werden. Derzeit hat hier eine Liste.
Es wird häufig als Marker für gewöhnliche Streudiagramme und Wellenformen verwendet.
ax.scatter(0.5, 0.5, s=600, c="red", alpha=0.1)
Sie können die Größe für s, die Farbe für c und die Transparenz für Alpha festlegen.
Verwenden Sie es beispielsweise, wenn Sie einen bestimmten numerischen Wert des Markierungsteils darstellen möchten. Es heißt Maximalwert, aber wie viel kostet es konkret? Sie können solche Dinge erklären, ohne die Skala zu lesen.
ax.text(0.5, 0.5, "test", va="bottom", ha="left", color="red")
Eine Liste der Zeichen finden Sie hier (https://matplotlib.org/api/_as_gen/matplotlib.pyplot.html).
ax1.set_title("Titel")
ax1.set_xlim([0.0, 1.0])
ax1.set_ylim([0.0, 1.0])
ax1.set_xticks([0.0, 0.5, 1.0])
ax1.set_yticks([0.0, 0.5, 1.0])
Tatsächlich ist es praktisch, mit np.linspace zu erstellen (Minimum, Maximum, Anzahl der Ticks).
ax1.set_yticklabels(["klein", "Während ~", "Groß"])
ax1.legend(["test"], fontsize=7, loc="upper left")
Wenn die Label-Eigenschaft während des Plots angegeben wird, ist der Teil ["test"] nicht erforderlich. Sie können die Schriftgröße mit der Schriftgröße und den Anzeigeort mit loc steuern. Den Loc-Einstellungswert finden Sie in der Location-Zeichenfolge in hier.
ax1.set_ylabel("X-Achse")
ax1.set_ylabel("Y-Achse")
ax.grid(b=True, linestyle=":")
plt.tight_layout()
Wird auf dem Bildschirm angezeigt.
plt.show()
In einer Umgebung, in der nichts angezeigt werden kann, wird das Bild wie unten gezeigt ausgegeben.
plt.savefig("aaa.png ")
Schließen, wenn angezeigt.
plt.close()
Außerdem wird die Figur verworfen. Wenn es nicht zerstört wird, kann es Speicher belegen.
plt.clf()
Recommended Posts