Verwendung von Matplotlib zum Anzeigen von Histogrammen und Streudiagrammen auf Jupyter Notebook.
Der Inhalt dieses Artikels wird in der Jupyter Notebook-Umgebung getestet, die gemäß dem folgenden Artikel erstellt wurde. Einfache Installation und Inbetriebnahme von Jupyter Notebook mit Docker (unterstützt auch nbextensions und Scala) --Qiita
In dieser Umgebung können Sie mit einem Browser auf Port 8888 zugreifen und Jupyter Notebook verwenden. Sie können eine neue Notiz öffnen, indem Sie oben rechts auf Neu> Python 3 klicken.
Im folgenden Artikel finden Sie Histogramme und Streudiagramme. Histogramm / Streudiagramm auf Jupyter Notebook - Qiita anzeigen
Wir haben zwei Beispieldaten vorbereitet, wobei angenommen wird, dass die erste Spalte die x- und die zweite Spalte die y-Achse ist.
test1.csv
0,100
1,110
2,108
4,120
6,124
test2.csv
0,90
1,95
2,99
3,104
4,108
5,111
6,115
Öffnen Sie Jupyter Notebook und importieren Sie verschiedene Dinge.
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
Lesen Sie die Daten.
df1 = pd.read_csv("test1.csv", names=["x", "y"])
df2 = pd.read_csv("test2.csv", names=["x", "y"])
df
wird ein Objekt von Pandas DataFrame sein.
Siehe vorherigen Artikel zum Lesen aus CSV und zum Umgang mit DataFrame. Probieren Sie grundlegende Operationen für DataFrame-Qiita aus
plt.plot(df1["x"], df1["y"])
df1 [" x "]
und df1 [" y "]
sind Objekte der Pandas-Serie, die an plt.plot
übergeben werden können.
matplotlib.pyplot.plot — Matplotlib 3.1.1 documentation
Sie können auch zwei Diagramme überlagern.
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(df1["x"], df1["y"])
ax1.plot(df2["x"], df2["y"])
y = x^2 + 3x + 80
Zeichnen wir ein Diagramm der Funktion.
x3 = np.linspace(0, 6, 13)
y3 = x3 * x3 + 3.0 * x3 + 80.0
plt.plot(x3, y3)
"np.linspace (0, 6, 7)" ist ein Array namens ndarray von NumPy mit den Elementen "0, 0,5, 1, 1,5, 2, 2,5, 3, 3,5, 4, 4,5, 5, 5,5, 6" Rückkehr. Es ist ein Array, in dem insgesamt 13 Zahlen gleichmäßig mit 0 und 6 an beiden Enden angeordnet sind.
numpy.linspace — NumPy v1.17 Manual
Wenn Sie vier Regeln auf ndarray anwenden, ist es ndarray mit der gleichen Anzahl von Elementen, sodass x3 * x3 + 3.0 * x3 + 80.0
auch ndarray mit 7 Zahlen ist.
Wenn Sie x und y in ein Array einfügen und an plt.plot
übergeben, können Sie auf die gleiche Weise wie CSV-Daten ein Diagramm erstellen. Ich habe die Pandas-Serie früher an plt.plot
übergeben, aber es scheint, dass ich auch das NumPy-ndarray übergeben kann.
Es kann auch mit den Daten in der CSV-Datei überlagert angezeigt werden.
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(df1["x"], df1["y"])
ax1.plot(df2["x"], df2["y"])
ax1.plot(x3, y3)
Sie können die Form eines Punkts in den Daten angeben, indem Sie das Argument "marker" an "plot" übergeben.
x3 = np.linspace(0, 6, 13)
y3 = x3 * x3 + 3.0 * x3 + 80.0
plt.plot(x3, y3, marker=".")
x3 = np.linspace(0, 6, 13)
y3 = x3 * x3 + 3.0 * x3 + 80.0
plt.plot(x3, y3, marker="o")
In der folgenden Referenz finden Sie die Zeichenfolgen, die für "marker" angegeben werden können. matplotlib.markers — Matplotlib 3.1.1 documentation
Sie können die Zielbreite mit dem Argument "Linienbreite" angeben. Wenn 0 angegeben ist, wird keine Zeile angezeigt.
x3 = np.linspace(0, 6, 13)
y3 = x3 * x3 + 3.0 * x3 + 80.0
plt.plot(x3, y3, marker="o", linewidth=0)
Weitere Optionen sind ebenfalls in den nachstehenden Referenzen aufgeführt. matplotlib.pyplot.plot — Matplotlib 3.1.1 documentation
das ist alles.
Recommended Posts