Notieren Sie sich, wie das Diagramm in Jupyter mithilfe der Bibliothek Seaborn angezeigt wird.
Zeichnen Sie mit SEABORN ein Zeitreihendiagramm.
sample.py
import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import seaborn as sns
#Definieren Sie einen Datensatz.(Das Datum ist Datum / Uhrzeit.Beschreiben Sie in datetime. Notiert im Datumstyp)
dat = [
[datetime.datetime(2020,1,1),4,10],
[datetime.datetime(2020,1,2),7,7],
[datetime.datetime(2020,1,3),10,4],
[datetime.datetime(2020,1,4),13,2],
[datetime.datetime(2020,1,5),17,1],
[datetime.datetime(2020,1,6),12,4],
[datetime.datetime(2020,1,7),9,3],
[datetime.datetime(2020,1,8),7,8],
[datetime.datetime(2020,1,9),5,9],
[datetime.datetime(2020,1,10),3,12],
]
dat=pd.DataFrame(dat,columns=["DATE","Y","Z"])
dat.set_index("DATE",inplace=True) #Stellen Sie das auf der horizontalen Achse angezeigte Datum auf den Index des DataFrame ein.
print(dat)
fig = sns.mpl.pyplot.figure() #Erstellen Sie ein Objekt, um das Diagramm zu zeichnen.
ax = fig.add_subplot(111) #Stellen Sie den Bereich ein, in dem das Diagramm angezeigt werden soll(Anzahl der Zeilen,Anzahl der Spalten,Zieldiagrammnummer)
ax.plot(dat['Y'], label='Y',markersize=10,c="blue",marker="o") #Geben Sie Daten ein und zeigen Sie ein Diagramm an.
ax.plot(dat['Z'], label='Z',markersize=10,c="red",marker="o") #Geben Sie Daten ein und zeigen Sie ein Diagramm an.
ax.legend() #Zeichne eine Legende
#Einstellungen für das Grafikformat(Stellen Sie die Datumsanzeigemethode auf der horizontalen Achse ein.)
days = mdates.DayLocator(bymonthday=None, interval=2, tz=None) #Horizontale Achse: "Täglich" wird angezeigt.(Ohne diese Zeile wird das Datum dupliziert)
daysFmt = mdates.DateFormatter('%Y-%m-%d') #Horizontale Achse: Format Y.-M-Auf D setzen.
ax.xaxis.set_major_locator(days) #Zeigen Sie das Datum auf der horizontalen Achse an.
ax.xaxis.set_major_formatter(daysFmt) #Zeigen Sie das Datum auf der horizontalen Achse an.
fig.autofmt_xdate() #Das Datum auf der horizontalen Achse ist geneigt, damit es leicht zu sehen ist.
#Geben Sie dem Diagramm einen Namen
ax.set_xlabel('Date') #Stellen Sie den Titel der X-Achse ein
ax.set_ylabel('Y') #Stellen Sie den Titel der Y-Achse ein
plt.title(r"TEST",fontname="MS Gothic") #Legen Sie den Titel des Diagramms fest. Bei der Angabe von Japanisch muss der Schriftname angegeben werden
#Stellen Sie die Größe des Diagramms ein
fig.set_figheight(10)
fig.set_figwidth(20)
#Stellen Sie den Anzeigebereich auf der horizontalen Achse ein
ax.set_xlim(datetime.datetime(2020,1,1), datetime.datetime(2020,1,12))
Ausführungsergebnis
python
Y Z
DATE
2020-01-01 4 10
2020-01-02 7 7
2020-01-03 10 4
2020-01-04 13 2
2020-01-05 17 1
2020-01-06 12 4
2020-01-07 9 3
2020-01-08 7 8
2020-01-09 5 9
2020-01-10 3 12
sample.py
import seaborn as sns
sns.set_style("whitegrid")
df1 = pd.DataFrame({'X': [1, 2, 3,4,5],'Y': [4, 5.5, 6.2,7.3,7.8]})
sns.regplot('X', 'Y', data=df1,fit_reg=False)
ax.set_yscale("log") #Notieren Sie die Y-Achse im Protokoll.
ax.set_xlim(0, 5) #Stellen Sie den Bereich der X-Achse ein.
ax.set_ylim(1, 10) #Stellen Sie den Bereich der Y-Achse ein.
Referenz https://pythondatascience.plavox.info/seaborn/%E6%95%A3%E5%B8%83%E5%9B%B3%E3%83%BB%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB
sample.py
import pandas as pd
import numpy as np
#Erstellen Sie Daten zum Testen.(Es werden Zufallszahlen generiert, die einer zweidimensionalen Normalverteilung folgen.)
mean=[0,0]
cov=[[1,0],[0,10]]
dset=np.random.multivariate_normal(mean,cov,1000) #Generieren Sie 1000 Daten
df=pd.DataFrame(dset,columns=['X','Y'])
#Stellen Sie den Hintergrund auf Weiß ein
sns.set(style="white", color_codes=True)
#Ausgabediagramm
sns.jointplot(x="X", y="Y", data=df)
sample.py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#Erstellen Sie Daten zum Testen.(Es werden Zufallszahlen generiert, die einer zweidimensionalen Normalverteilung folgen.)
mean=[0,0]
cov=[[1,0],[0,10]]
dset=np.random.multivariate_normal(mean,cov,1000) #Generieren Sie 1000 Daten
df0=pd.DataFrame(dset,columns=['X','Y'])
df1=pd.DataFrame(dset,columns=['X','Y'])
fig,(axis1,axis2)=plt.subplots(1,2,sharey=True) #Erstellen Sie einen 1-mal-2-Diagrammplatzierungsort
sns.regplot('X','Y',df0,ax=axis1)
sns.regplot('X','Y',df0,ax=axis2)
Verwenden Sie zum Zeichnen nur eines Punktes .plot, da das Replot nicht verwendet werden kann (Datensatz).
sample.py
import numpy as np
import pandas as pd
import seaborn as sns
#Definition von Beispieldaten
dat = [
[1,8],
[4,2],
[7,6],
[4,8],
[20,15],
[3,7]
]
dat1=[[4,4]]
df0 = pd.DataFrame(dat,columns=["X","Y"]) #1. Datensatz
df1 = pd.DataFrame(dat1,columns=["X","Y"]) #Zweiter Datensatz
ax=sns.regplot('X', 'Y', data=df0,fit_reg=False) #1. Datensatz
ax.set_xlim(0, 5) #Stellen Sie den Bereich der X-Achse ein.
ax.set_ylim(1, 10) #Stellen Sie den Bereich der Y-Achse ein.
#Zeichnen Sie den zweiten Datensatz.
#Wenn Sie nur einen Punkt zeichnen, können Sie Replot nicht verwenden.(Datensatz).Plot verwenden.
df1.plot(kind="scatter",x="X", y="Y",s=500,c="yellow",marker="*", alpha=1, linewidths=2,edgecolors="red",ax=ax)
#s ist die Größe der Marke,Alpha ist Transparenz(0:Transparent,1:不Transparent)
Ausführungsergebnis
Beschreibung der Kerneldichtefunktion https://www.ie-kau.net/entry/kernel_density_est
/home/sampletest/sample.py
from numpy.random import randn
import seaborn as sns
import numpy as np
dataset=randn(100) #Generieren Sie 100 Zufallszahlen, die einer gleichmäßigen Verteilung folgen.
sns.kdeplot(dataset)
sns.rugplot(dataset,color='black') #Ich zeichne einen Datensatz.
for bw in np.arange(0.5,2.5,0.5): #Bandbreite 0.5,1.0,1.5,2.Schreiben Sie die Kerneldichtefunktion, indem Sie sie auf 0 ändern
sns.kdeplot(dataset,bw=bw,label=bw)
Recommended Posts