Ich werde die Zeitreihe mundtot machen
python==3.8 plotly==4.10.0
Die Vorverarbeitung von Zeitreihendaten ist schwierig, aber eine schöne Visualisierung ist genauso schwierig.
Wenn es in der Zeitreihenvisualisierung einen merkwürdigen Peak gibt, ・ Welcher Monat und Tag war es? ・ Wenn es abnormal ist, können Sie sich auf den Kommentar zu diesem Zeitpunkt beziehen? ・ Ist es möglich, den Maßstab etwas weiter zu erweitern oder zu ändern? Wird passieren
Es ist schwierig, jedes Mal zur Seite der Quelldaten zu wechseln, aber mit der dynamischen Visualisierung von Plotly Es ist leicht zu erkennen, welcher Monat und welcher Tag es ist. Es ist auch möglich, auf einen bestimmten Zeitraum einzugrenzen und nur auf Halbjahresaufträge zu erweitern
Versuchen Sie es mit einem Plot
import plotly.express as px
fig = px.line(x=[1,2,3,4,5], y=[10,11,15,16,8], title="line plot")
fig.show()
Gewöhnliche lineare Darstellung
Versuchen Sie, Aktienkursdaten zu verwenden, die aus den Datensätzen von plotly aufgerufen werden können
import plotly.express as px
import pandas as pd
df = px.data.stocks()
fig = px.line(df,x='date', y='NFLX', title="NFLX stocks plot")
fig.show()
Wenn das Datum in einem erkennbaren Format eingegeben wird, wird es durch Angabe auf der X-Achse auf die Uhrzeit eingestellt.
import plotly.express as px
import pandas as pd
df = px.data.stocks()
fig = px.line(df,x='date', y='NFLX', title="NFLX stocks plot", range_x=['2018-07-01','2019-12-31'])
fig.show()
import plotly.express as px
import pandas as pd
df = px.data.stocks()
fig = px.line(df,x='date', y=df.columns[1:6], title="6 company stocks plot")
fig.show()
import plotly.express as px
import pandas as pd
df = px.data.stocks()
fig = px.line(df,x='date', y=df.columns[1:6], title="6 company stocks plot")
fig.update_xaxes(
dtick="M1",
tickformat="%b\n%Y")
fig.show()
〇 Übergeben Sie die Monatspause, um mit M 〇 zu ticken Das Format der Skalenbeschriftung kann als Zeichentyp übergeben werden, und das Anzeigeformat kann mithilfe von Zeilenvorschub-Symbolen usw. geändert werden.
Zum Beispiel
fig.update_layout(
title="6 company stocks plot",
xaxis_tickformat = '%d %B (%a)<br>%Y'
)
Wenn Sie als angeben, können Sie die Anzeige von Tag und Jahr, Monat und Tag bedienen
Normalerweise können Sie auf einen Informationspunkt verweisen, indem Sie die Maus darüber halten. Sie können das Layout auch ändern, um Informationen für alle Daten anzuzeigen
Normalfall
import plotly.express as px
import pandas as pd
df = px.data.stocks()
fig = px.line(df,x='date', y=df.columns[1:6], title="6 company stocks plot")
fig.update_xaxes(
dtick="M1",
tickformat="%b\n%Y")
fig.update_layout(template=go.layout.Template())
fig.show()
Mit update_layout können Sie eine Funktion hinzufügen, um den Anzeigeabschnitt in der Grafik in der Abbildung anzugeben. Gilt sowohl für go.Figure als auch für plotly.express Praktisch, weil Sie es kopieren und verwenden können
Zu graph_objects hinzufügen
import plotly.graph_objects as go
import pandas as pd
fig = go.Figure()
fig.add_trace(go.Scatter(x=list(df.date), y=list(df.GOOG)))
fig.update_layout(
title_text="range slider and selectors"
)
fig.update_layout(
xaxis=dict(
rangeselector=dict(
buttons=list([
dict(count=1,
label="1m",
step="month",
stepmode="backward"),
dict(count=6,
label="6m",
step="month",
stepmode="backward"),
dict(count=1,
label="YTD",
step="year",
stepmode="todate"),
dict(count=1,
label="1y",
step="year",
stepmode="backward"),
dict(step="all")
])
),
rangeslider=dict(
visible=True
),
type="date"
)
)
fig.show()
Zu plotly.express hinzufügen
import plotly.express as px
fig = px.line(df,x='date', y=df.columns[1:6])
fig.update_layout(
title_text="range slider and selectors"
)
fig.update_layout(
xaxis=dict(
rangeselector=dict(
buttons=list([
dict(count=1,
label="1m",
step="month",
stepmode="backward"),
dict(count=6,
label="6m",
step="month",
stepmode="backward"),
dict(count=1,
label="YTD",
step="year",
stepmode="todate"),
dict(count=1,
label="1y",
step="year",
stepmode="backward"),
dict(step="all")
])
),
rangeslider=dict(
visible=True
),
type="date"
)
)
fig.show()
import plotly.express as px
fig = px.scatter(df,x=df['date'], y=df.columns[1:6])
fig.show()
import plotly.graph_objects as go
fig = go.Figure([
go.Scatter(
x=df['date'], y=df[df.columns[i]],
opacity=.5
)
for i in range(1,len(df.columns))
])
fig.show()
graph_objects kann gut zeichnen wie das Hinzufügen von oben zum Campus Fügen Sie go.scatter zu der mit go.Figure erstellten Zeichenfläche hinzu Dieses Mal habe ich go.scatter 5 Mal hinzugefügt, während ich die Spalte mit for geändert habe. Sie können sie einzeln mit add_trace hinzufügen In diesem Fall können einige Linien unterbrochene Linien und einige Linien durchgezogene Linien sein.
Das Folgende ist eine Änderung des Leitungstyps
import plotly.graph_objects as go
fig = go.Figure([
go.Scatter(
x=df['date'], y=df[df.columns[i]],
opacity=.5,
line=dict(dash='dash')
)
for i in range(1,len(df.columns))
])
fig.show()
Sie können ganz einfach ein Kerzendiagramm erstellen, indem Sie den Eröffnungskurs, den hohen Preis, den niedrigen Preis und den Schlusskurs des Aktienkurses angeben.
import plotly.graph_objects as go
import pandas as pd
from datetime import datetime
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')
fig = go.Figure(data=[go.Candlestick(x=df['Date'],
open=df['AAPL.Open'],
high=df['AAPL.High'],
low=df['AAPL.Low'],
close=df['AAPL.Close'])])
fig.update_layout(
title_text="Candle"
)
fig.update_layout(
xaxis=dict(
rangeselector=dict(
buttons=list([
dict(count=1,
label="1m",
step="month",
stepmode="backward"),
dict(count=6,
label="6m",
step="month",
stepmode="backward"),
dict(count=1,
label="YTD",
step="year",
stepmode="todate"),
dict(count=1,
label="1y",
step="year",
stepmode="backward"),
dict(step="all")
])
),
rangeslider=dict(
visible=True
),
type="date"
)
)
fig.show()
Es ist großartig, die Werte sehen zu können
Recommended Posts