Je vais museler la série chronologique
python==3.8 plotly==4.10.0
Le prétraitement des données de séries chronologiques est difficile, mais une belle visualisation est tout aussi difficile.
S'il y a un pic étrange dans la visualisation des séries chronologiques, ・ Quel mois et quel jour était-ce? ・ Si c'est anormal, pouvez-vous vous référer au commentaire à ce moment-là? ・ Est-il possible d'agrandir ou de modifier un peu plus l'échelle? Arrivera
Il est difficile d'aller du côté des données source à chaque fois, mais avec la visualisation dynamique de l'intrigue Il est facile d ’identifier le mois et le jour. Il est également possible de se limiter à une période spécifique et de passer à des commandes semestrielles seulement
Essayez d'utiliser un tracé linéaire
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()
Graphique linéaire ordinaire
Essayez d'utiliser des données de cours de bourse qui peuvent être appelées à partir des ensembles de données de plotly
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()
Si la date est saisie dans un format reconnaissable, elle sera mise à l'heure en la spécifiant sur l'axe X.
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()
〇 Passez la pause du mois pour décoller avec M 〇 Le format de l'étiquette de l'échelle peut être transmis sous forme de caractères et le format d'affichage peut être modifié à l'aide de symboles de saut de ligne, etc.
Par exemple
fig.update_layout(
title="6 company stocks plot",
xaxis_tickformat = '%d %B (%a)<br>%Y'
)
Si vous spécifiez comme, vous pouvez utiliser l'affichage du jour et de l'année, du mois et du jour
Normalement, vous pouvez vous référer à un point d'information en maintenant la souris dessus, Vous pouvez également modifier la disposition pour afficher les informations de toutes les données
Cas normal
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()
En utilisant update_layout, vous pouvez ajouter une fonction pour spécifier la section d'affichage sur le graphique mis dans la fig. Applicable à la fois à go.Figure et à plotly.express Pratique car vous pouvez le copier et l'utiliser
Ajouter à graph_objects
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()
Ajouter à plotly.express
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 est bon pour dessiner comme pour ajouter au campus par le haut Ajoutez go.scatter au canevas créé avec go.Figure Cette fois, j'ai ajouté go.scatter 5 fois en changeant la colonne avec for, Vous pouvez les ajouter individuellement avec add_trace Dans ce cas, certaines lignes peuvent être des lignes discontinues et certaines lignes peuvent être des lignes pleines.
Ce qui suit est un changement de type de ligne
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()
Vous pouvez facilement créer un graphique à bougies en spécifiant le prix d'ouverture; prix élevé; prix bas; cours de clôture du cours de l'action.
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()
C'est formidable de pouvoir voir les valeurs
Recommended Posts