Plotly: formato asse e zecche
È possibile configurare l'aspetto di ogni asse specificando la larghezza e il colore della linea. È anche possibile definire la larghezza e il colore della griglia. Impariamo lo stesso in dettaglio in questo capitolo.
Grafico con asse e segno di spunta
Nelle proprietà dell'oggetto Layout, l'impostazione showticklabelsa true abiliterà i tick. La proprietà tickfont è un oggetto dict che specifica il nome del font, la dimensione, il colore, ecc. La proprietà tickmode può avere due possibili valori: lineare e array. Se è lineare, la posizione del tick di partenza è determinata datick0 e passare da una tacca all'altra dtick proprietà.
Se tickmode è impostato su array, devi fornire un elenco di valori ed etichette come tickval e ticktext proprietà.
L'oggetto Layout ha anche Exponentformat attributo impostato su ‘e’causerà la visualizzazione dei valori di tick in notazione scientifica. Devi anche impostareshowexponent proprietà a ‘all’.
Formattiamo ora l'oggetto Layout nell'esempio precedente per configurare x e y axis specificando le proprietà dei caratteri di riga, griglia e titolo e la modalità di graduazione, i valori e il carattere.
layout = go.Layout(
title = "Sine and cos",
xaxis = dict(
title = 'angle',
showgrid = True,
zeroline = True,
showline = True,
showticklabels = True,
gridwidth = 1
),
yaxis = dict(
showgrid = True,
zeroline = True,
showline = True,
gridcolor = '#bdbdbd',
gridwidth = 2,
zerolinecolor = '#969696',
zerolinewidth = 2,
linecolor = '#636363',
linewidth = 2,
title = 'VALUE',
titlefont = dict(
family = 'Arial, sans-serif',
size = 18,
color = 'lightgrey'
),
showticklabels = True,
tickangle = 45,
tickfont = dict(
family = 'Old Standard TT, serif',
size = 14,
color = 'black'
),
tickmode = 'linear',
tick0 = 0.0,
dtick = 0.25
)
)
Traccia con più assi
A volte è utile avere dual x or y axesin una figura; ad esempio, quando si tracciano curve con unità diverse insieme. Matplotlib lo supporta con l'estensionetwinx e twinyfunzioni. Nell'esempio seguente, la trama hadual y axes, uno in mostra exp(x) e altri spettacoli log(x)
x = np.arange(1,11)
y1 = np.exp(x)
y2 = np.log(x)
trace1 = go.Scatter(
x = x,
y = y1,
name = 'exp'
)
trace2 = go.Scatter(
x = x,
y = y2,
name = 'log',
yaxis = 'y2'
)
data = [trace1, trace2]
layout = go.Layout(
title = 'Double Y Axis Example',
yaxis = dict(
title = 'exp',zeroline=True,
showline = True
),
yaxis2 = dict(
title = 'log',
zeroline = True,
showline = True,
overlaying = 'y',
side = 'right'
)
)
fig = go.Figure(data=data, layout=layout)
iplot(fig)
Qui, l'asse y aggiuntivo è configurato come yaxis2 e appare sul lato destro, avendo ‘log’come titolo. Il grafico risultante è il seguente: