Es handelt sich um eine Vorlage für ein Trace-Layout, das beim Zeichnen eines Streudiagramms mit Plot verwendet zu werden scheint Bitte löschen Sie unnötige Teile entsprechend
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
"""
Standardfarbe abrufen
['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
"""
Werte, die für Markierungssymbole verwendet werden können
[0, '0', 'circle', 100, '100', 'circle-open',...
Es gibt 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?Achse"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",
#Schritt 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=Informationen zur Markerkontur 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], #Geben Sie die Form des Markers https an://plotly.com/python/marker-style/#custom-marker-symbols
name="sample", #Wird in der Legende verwendet
hovertemplate="y: %{y}<br>x: %{x}",
opacity=1, #Transparenz 0~1 https://plotly.com/python/marker-style/#color-opacity
visible=True, # True, False or legendonly
showlegend=True, #Legendenanzeige Richtig oder falsch
legendgroup="sample" #Spuren mit derselben Zeichenfolge werden angezeigt/Versteckte Schalter synchronisieren https://plotly.com/python/legend/#grouped-legend-items
)
data.append(trace)
Titel, X-Achse usw. Wenn Sie dies vorerst haben, können Sie das Diagrammlayout formatieren
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), #Globale Schriftart
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'
Sie können HTML-Tags anstelle von Zeichenfolgen verwenden, die mit " str </ b>" fett und mit "
" unterbrochen sind
Wenn Sie es fett einfärben möchten, z. B. " test </ b>"
Es wurde eine Schaltfläche hinzugefügt, um eine Linie oder einen Kreis in der oberen rechten Ecke der letzten Linie zu zeichnen
config={'modeBarButtonsToAdd': ['drawline', 'drawopenpath', 'drawclosedpath', 'drawcircle', 'drawrect', 'eraseshape']}
Setzen Sie yaxis =" y2 "
in trace
Wobei 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"), #Gleich wie xaxis
yaxis2=dict(title="y2 axis label", overlaying="y", side="right", showgrid=False),
font=dict(size=16), #Globale Schriftart
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']}, )
Wenn Sie das Schriftformat von Titel und xaxis ändern möchten, wenn Sie den Bereich von xaxis festlegen möchten, wenn Sie andere Dinge wie Hover und Spike ändern möchten
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]), #Gleich wie xaxis
font=dict(family="Arial", size=16, color="black"), #Globale Schriftart
legend=dict(orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1), # orientation=h Zeigen Sie die Legende horizontal an
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", #Farbspezifikation außerhalb des Diagramms
# plot_bgcolor="#ffffff", #Farbspezifikation im Plot
# template="plotly_dark", #Vorlage 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 Geben Sie das Schriftformat, die Größe und die Farbe mit "font = dict (family =" Arial ", size = 16, color =" black ")" an
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".
Geben Sie die Achsenwertschriftart mit "tickfont = dict (family =" Arial ", size = 12, color =" black ")" an
type =" - "
: Wechseln Sie je nach Eingabewert zur Zeitachse oder zur Protokollskala
"-" | "linear" | "log" | "date" | "category" | "multicategory" Default: "-"
tick0
: Geben Sie den Mindestwert der Achse an
dtick
: Geben Sie das Skalierungsintervall der Achse an
range = [min, max]
: Geben Sie das Maximum / Minimum der anzuzeigenden Achse an
autorange = True
: Stellt den Bereich automatisch entsprechend dem angegebenen Wert ein und wird bei Eingabe des Bereichs zu False
( True | False | "reversed" )
rangemode
: normal: Der Achsenbereich wird durch den Eingabewert bestimmt, tozero: 0 ist der Ursprung, nicht negativ: nicht negativ
Type: enumerated , one of ( "normal" | "tozero" | "nonnegative" ) Default: "normal"
tickangle
: Achsenwert-Anzeigewinkel, Standard ist" auto "
tickformat
: Wenn Sie% usw. anzeigen möchten, ist der Standardwert""
color
: Achsenfarbspezifikation (sowohl Beschriftung als auch Häkchen)
showspikes
: Ein- / Ausblenden von Spikes (gepunktete Linien, die angezeigt werden, wenn sich der Cursor in der Nähe des Diagramms befindet)
spikemode
: Ändert, wie Spikes angezeigt werden
Type: flaglist string. Any combination of "toaxis", "across", "marker" joined with a "+" Examples: "toaxis", "across", "toaxis+across", "toaxis+across+marker" Default: "toaxis"
spikecolor
: Spike color
domain`: Geben Sie den Diagrammbereich an, Standard [0, 1], Bereich 0 ~ 1
legend
orientation="h", yanchor="bottom", y=1.02, xanchor="right", x=1
Drehe die Legende zur Seite.
Richten Sie unten rechts die Diagrammkoordinaten y = 1,02, x = 1 aus.
Die Koordinaten sind (x, y) = (0, 0) unten links im Diagramm (blauer Teil innerhalb der Achse) und (x, y) = (1, 1) oben rechts.
hovermode Ändern Sie die Anzeigemethode des Werts, wenn sich der Cursor dem Plot nähert
"x", "y", "closest", False, "x unified", "y unified"
paper_bgcolor
: Farbspezifikation außerhalb des Plots
plot_bgcolor
: Angabe der Farbe im Plot
template
: Graph template,"plotly_dark"
ist cool
https://plotly.com/python/templates/
Der Wert der x-Achse muss auf Zeit eingestellt sein, z. B. Datum / Uhrzeit
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 "
: Wechseln Sie zur Zeitachse
rangelider = dict (sichtbar = True)
: Ein Schieberegler unter dem Diagramm wurde hinzugefügt, um den Anzeigebereich des Diagramms zu ändern.
tickformat
: Geben Sie das Zeitanzeigeformat an
"%Y/%m/%d %H:%M:%S" = yyyy/mm/dd HH:MM:SS % y sind die letzten beiden Ziffern des Kalenders
dtick
: Geben Sie den Achsenabstand an
"M1" jeden Monat-> "M2" alle zwei Monate "D1" jeden Tag-> "D2" alle zwei Tage Andere werden jeden Tag alle 86400000.0 hinzugefügt (60 * 60 * 24 = 86400000 Sekunden pro Tag)
Details in einem anderen Artikel Anwendung des Diagramms mit dem Plotly-Schieberegler --Qiita
offiziell Plotly Python Graphing Library | Python | Plotly
Zeitachsenreferenz Einstellungen für die Anzeige der Datumsachsenbeschriftung: Duschy-Blog
Recommended Posts