C'est un modèle de trace, de mise en page qui semble être utilisé lors du dessin d'un diagramme de dispersion avec Veuillez effacer les parties inutiles selon le cas
Mac OS python 3.8.5 plotly 4.12.0
pip
pip install plotly
import plotly.offline as offline
import plotly.graph_objs as go
import plotly
colors = plotly.colors.DEFAULT_PLOTLY_COLORS
"""
Obtenir la couleur par défaut
['rgb(31, 119, 180)', 'rgb(255, 127, 14)', 'rgb(44, 160, 44)', 'rgb(214, 39, 40)', 'rgb(148, 103, 189)',
'rgb(140, 86, 75)', 'rgb(227, 119, 194)', 'rgb(127, 127, 127)', 'rgb(188, 189, 34)', 'rgb(23, 190, 207)']
"""
from plotly.validators.scatter.marker import SymbolValidator
raw_symbols = SymbolValidator().values
"""
Valeurs pouvant être utilisées pour les symboles de repère
[0, '0', 'circle', 100, '100', 'circle-open',...
Il y a 474
https://plotly.com/python/marker-style/#custom-marker-symbols
"""
data = []
trace = go.Scatter(
x=[i for i in range(10)],
y=[i for i in range(10)],
yaxis="y1", #yth?axe"y2", "y3", "y4", .. https://plotly.com/python/multiple-axes/#multiple-axes
line=dict(color=colors[0], width=6, dash="dashdot"),
# dash="dash", "dot" or "dashdot" https://plotly.com/python/line-charts/#style-line-plots
line_shape="hv",
#Étape etc."hv", "vh", "hvh", "vhv", "spline", "liner" https://plotly.com/python/legend/#hiding-the-trace-initially
marker=dict(color=colors[0], size=10, line=dict(color="red", width=2)),
# line=Informations sur le contour du marqueur https://plotly.com/python/marker-style/#add-marker-border
mode="lines+markers",
# "lines", "lines+markers" or "markers" https://plotly.com/python/line-charts/#line-plot-modes
marker_symbol=raw_symbols[0], #Spécifiez la forme du marqueur https://plotly.com/python/marker-style/#custom-marker-symbols
name="sample", #Utilisé dans la légende
hovertemplate="y: %{y}<br>x: %{x}",
opacity=1, #Transparence 0~1 https://plotly.com/python/marker-style/#color-opacity
visible=True, # True, False or legendonly
showlegend=True, #Affichage de la légende Vrai ou Faux
legendgroup="sample" #Les traces avec la même chaîne sont affichées/Les bascules masquées synchronisent https://plotly.com/python/legend/#grouped-legend-items
)
data.append(trace)
title, xaxis, etc. Si vous l'avez pour le moment, vous pouvez formater la mise en page du graphique
layout = go.Layout(
title=dict(text='<b>sample title</b><br>text', font=dict(size=16)),
xaxis=dict(title=dict(text='x axis label', font=dict(size=12)), tickfont=dict(size=12), autorange=True),
# https://plotly.com/python/reference/layout/xaxis/
yaxis=dict(title='y axis label'),
font=dict(size=16), #Police globale
newshape=dict(line=dict(color="cyan", width=4, dash="solid")),
# dash='solid', 'dot', 'dash', 'longdash', 'dashdot','longdashdot'
autosize=True,
showlegend=True, )
fig = dict(data=data, layout=layout)
offline.plot(fig, include_plotlyjs="cdn", auto_open=True, filename='sample plotly.html', config={
'modeBarButtonsToAdd': ['drawline', 'drawopenpath', 'drawclosedpath', 'drawcircle', 'drawrect', 'eraseshape']}, )
title=dict(text='<b>sample title</b><br>text'
Vous pouvez utiliser des balises html à la place des chaînes de caractères, en gras avec <b> str </ b>
, rompre avec <br>
Si vous voulez le colorier en gras, comme <b style =" color: red "> test </ b>
Ajout d'un bouton pour dessiner une ligne ou un cercle dans le coin supérieur droit sur la dernière ligne
config={'modeBarButtonsToAdd': ['drawline', 'drawopenpath', 'drawclosedpath', 'drawcircle', 'drawrect', 'eraseshape']}
Définissez yaxis =" y2 "
dans trace
Où yaxis2 =
layout = go.Layout(
title=dict(text='<b>sample title</b><br>text', font=dict(size=16)),
xaxis=dict(title=dict(text='x axis label', font=dict(size=12)), tickfont=dict(size=12), tickangle=0),
# https://plotly.com/python/reference/layout/xaxis/
yaxis=dict(title="y axis label"), #Identique à xaxis
yaxis2=dict(title="y2 axis label", overlaying="y", side="right", showgrid=False),
font=dict(size=16), #Police globale
newshape=dict(line=dict(color="cyan", width=4, dash="solod")),
# dash='solid', 'dot', 'dash', 'longdash', 'dashdot','longdashdot'
autosize=True,
showlegend=True, )
fig = dict(data=data, layout=layout)
offline.plot(fig, include_plotlyjs="cdn", auto_open=True, filename='sample plotly.html', config={
'modeBarButtonsToAdd': ['drawline', 'drawopenpath', 'drawclosedpath', 'drawcircle', 'drawrect', 'eraseshape']}, )
Lorsque vous souhaitez modifier le format de police du titre et de l'axe x, lorsque vous souhaitez décider de la plage de l'axe x, lorsque vous souhaitez modifier d'autres éléments tels que le survol et le pic
layout = go.Layout(
title=dict(text='<b>sample title</b><br>text', font=dict(family="Arial", size=16, color="black")),
xaxis=dict(title=dict(text='x axis label', font=dict(family="Arial", size=12, color="black")),
tickfont=dict(family="Arial", size=12, color="black"), type="-", tick0=0, dtick=1, range=[0, 100],
autorange=True, rangemode="normal", tickangle=0, tickformat="", color="white", showspikes=True,
spikemode="toaxis", spikecolor="red", domain=[0, 1]), # https://plotly.com/python/reference/layout/xaxis/
yaxis=dict(title='y axis label', spikemode="toaxis", domain=[0, 1]), #Identique à xaxis
font=dict(family="Arial", size=16, color="black"), #Police globale
legend=dict(orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1), # orientation=h Afficher la légende horizontalement
newshape=dict(line=dict(color="cyan", width=4, dash="dashdot")),
# dash='solid', 'dot', 'dash', 'longdash', 'dashdot','longdashdot'
hovermode='x unified', # "x", "y", "closest", False, "x unified", "y unified"
hoverlabel=dict(font=dict(family="Arial", size=20, color="black"), bgcolor="white", bordercolor="black"),
# paper_bgcolor="#ffffff", #Spécification de couleur en dehors du tracé
# plot_bgcolor="#ffffff", #Spécification de couleur dans le tracé
# template="plotly_dark", #Modèle https://plotly.com/python/templates/
autosize=True,
showlegend=True, )
fig = dict(data=data, layout=layout)
offline.plot(fig, include_plotlyjs="cdn", auto_open=True, filename='sample plotly.html', config={
'modeBarButtonsToAdd': ['drawline', 'drawopenpath', 'drawclosedpath', 'drawcircle', 'drawrect', 'eraseshape']}, )
xaxis yaxis
Spécifiez le format, la taille et la couleur de la police avec font = dict (family =" Arial ", size = 16, color =" black ")
family="Arial", "Balto", "Courier New", "Droid Sans",, "Droid Serif", "Droid Sans Mono", "Gravitas One", "Old Standard TT", "Open Sans", "Overpass", "PT Sans Narrow", "Raleway", "Times New Roman".
Spécifiez la police de valeur de l'axe avec tickfont = dict (family =" Arial ", size = 12, color =" black ")
type =" - "
: passage à l'axe des temps ou à l'échelle logarithmique en fonction de la valeur d'entrée
"-" | "linear" | "log" | "date" | "category" | "multicategory" Default: "-"
tick0
: Spécifiez la valeur minimale de l'axe
dtick
: Spécifiez l'intervalle d'échelle de l'axe
range = [min, max]
: Spécifiez le maximum / minimum de l'axe à afficher
ʻAutorange = True`: définit automatiquement la plage en fonction de la valeur donnée, devient False lorsque la plage est saisie
( True | False | "reversed" )
rangemode
: normal: la plage de l'axe est déterminée par la valeur d'entrée, tozero: 0 est l'origine, non négatif: non négatif
Type: enumerated , one of ( "normal" | "tozero" | "nonnegative" ) Default: "normal"
tickangle
: Angle d'affichage de la valeur de l'axe, la valeur par défaut est" auto "
tickformat
: Lorsque vous voulez afficher% etc., la valeur par défaut est""
color
: spécification de la couleur de l'axe (étiquette et coche)
showspikes
: Afficher / masquer les pointes (lignes pointillées qui apparaissent lorsque le curseur est proche du tracé)
spikemode
: changer la façon dont les pics sont affichés
Type: flaglist string. Any combination of "toaxis", "across", "marker" joined with a "+" Examples: "toaxis", "across", "toaxis+across", "toaxis+across+marker" Default: "toaxis"
spikecolor
: couleur de pointe
domain`: Spécifiez la zone du graphique, par défaut [0, 1], plage 0 ~ 1
legend
orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1
Tournez la légende sur le côté.
Alignez le coin inférieur droit avec les coordonnées du graphique y = 1,02, x = 1.
Les coordonnées sont (x, y) = (0, 0) en bas à gauche du graphique (partie bleue à l'intérieur de l'axe) et (x, y) = (1, 1) en haut à droite.
hovermode Changer la méthode d'affichage de la valeur lorsque le curseur est rapproché du tracé
"x", "y", "closest", False, "x unified", "y unified"
paper_bgcolor
: Spécification de couleur en dehors du tracé
plot_bgcolor
: Spécifier la couleur dans le tracé
template
: Modèle de graphique,` "plotly_dark" ʻest cool
https://plotly.com/python/templates/
La valeur de l'axe des x doit être définie sur time, par exemple datetime
layout = go.Layout(
title="sample",
xaxis=dict(title="time", type="date", rangeslider=dict(visible=True), tickformat="%Y/%m/%d %H:%M:%S",
dtick=86400000.0 / 24),
yaxis=dict(title='y axis label'),
font=dict(size=16),
newshape=dict(line=dict(color="cyan", width=4, dash="solid")),
hovermode='x unified',
hoverlabel=dict(font=dict(size=20)),
autosize=True,
showlegend=True)
fig = dict(data=data, layout=layout)
offline.plot(fig, include_plotlyjs="cdn", auto_open=True, filename='sample plotly2.html', config={
'modeBarButtonsToAdd': ['drawline', 'drawopenpath', 'drawclosedpath', 'drawcircle', 'drawrect', 'eraseshape']}, )
type =" date "
: passer à l'axe des temps
rangelider = dict (visible = True)
: Ajout d'un curseur sous le graphique pour changer la plage d'affichage du graphique.
tickformat
: Spécifiez le format d'affichage de l'heure
"%Y/%m/%d %H:%M:%S" = yyyy/mm/dd HH:MM:SS % y correspond aux deux derniers chiffres du calendrier
dtick
: Spécifiez l'espacement des axes
"M1" tous les mois-> "M2" tous les deux mois "D1" tous les jours-> "D2" tous les deux jours D'autres sont ajoutés tous les
86400000.0
un jour (60 * 60 * 24 = 86400000 secondes par jour)
Détails dans un autre article Application du graphique à l'aide du curseur de tracé --Qiita
officiel Plotly Python Graphing Library | Python | Plotly
Référence de l'axe des temps Paramètres d'affichage de l'étiquette de l'axe des dates tracé: blog de showery
Recommended Posts