Grafico a dispersione, Grafico a dispersione e Grafici a bolle
Questo capitolo enfatizza i dettagli su Grafico a dispersione, Grafico a dispersione e Grafici a bolle. Innanzitutto, studiamo lo Scatter Plot.
Grafico a dispersione
I grafici a dispersione sono utilizzati per plot datapunti su un asse orizzontale e uno verticale per mostrare come una variabile influisce su un'altra. Ogni riga nella tabella dati è rappresentata da un indicatore la cui posizione dipende dai suoi valori nelle colonne impostate inX e Y assi.
Il scatter() metodo del modulo graph_objs (go.Scatter)produce una traccia a dispersione. Qui, ilmodeproprietà decide l'aspetto dei punti dati. Il valore predefinito della modalità è linee che visualizza una linea continua che collega i punti dati. Se impostato sumarkers, vengono visualizzati solo i punti dati rappresentati da piccoli cerchi pieni. Quando viene assegnata la modalità "linee + indicatori", vengono visualizzati sia i cerchi che le linee.
Nell'esempio seguente, i grafici distribuiscono le tracce di tre serie di punti generati casualmente nel sistema di coordinate cartesiane. Ogni traccia visualizzata con una proprietà di modalità diversa è spiegata di seguito.
import numpy as np
N = 100
x_vals = np.linspace(0, 1, N)
y1 = np.random.randn(N) + 5
y2 = np.random.randn(N)
y3 = np.random.randn(N) - 5
trace0 = go.Scatter(
x = x_vals,
y = y1,
mode = 'markers',
name = 'markers'
)
trace1 = go.Scatter(
x = x_vals,
y = y2,
mode = 'lines+markers',
name = 'line+markers'
)
trace2 = go.Scatter(
x = x_vals,
y = y3,
mode = 'lines',
name = 'line'
)
data = [trace0, trace1, trace2]
fig = go.Figure(data = data)
iplot(fig)
L'output di Jupyter notebook cell è come indicato di seguito -
Scattergl Plot
WebGL (Web Graphics Library) è un'API JavaScript per il rendering interattivo 2D e 3D graphicsall'interno di qualsiasi browser web compatibile senza l'uso di plug-in. WebGL è completamente integrato con altri standard web, consentendo un utilizzo accelerato della GPU (Graphics Processing Unit) dell'elaborazione delle immagini.
Plotly puoi implementare WebGL con Scattergl()al posto di Scatter () per una maggiore velocità, una migliore interattività e la capacità di tracciare ancora più dati. Ilgo.scattergl() funzione che offre prestazioni migliori quando è coinvolto un numero elevato di punti dati.
import numpy as np
N = 100000
x = np.random.randn(N)
y = np.random.randn(N)
trace0 = go.Scattergl(
x = x, y = y, mode = 'markers'
)
data = [trace0]
layout = go.Layout(title = "scattergl plot ")
fig = go.Figure(data = data, layout = layout)
iplot(fig)
L'output è menzionato di seguito:
Grafici a bolle
Un grafico a bolle mostra tre dimensioni di dati. Ogni entità con le sue tre dimensioni di dati associati viene tracciata come filedisk (bolla) che esprime due delle dimensioni attraverso il disco xy locatione il terzo per le sue dimensioni. Le dimensioni delle bolle sono determinate dai valori nella terza serie di dati.
Bubble chartè una variazione del grafico a dispersione, in cui i punti dati vengono sostituiti con bolle. Se i tuoi dati hanno tre dimensioni come mostrato di seguito, la creazione di un grafico a bolle sarà una buona scelta.
Azienda | Prodotti | Vendita | Condividere |
---|---|---|---|
UN | 13 | 2354 | 23 |
B | 6 | 5423 | 47 |
C | 23 | 2451 | 30 |
Il grafico a bolle viene prodotto con go.Scatter()traccia. Due delle serie di dati precedenti vengono fornite come proprietà x e y. La terza dimensione è mostrata dal marcatore con la sua dimensione che rappresenta la terza serie di dati. Nel caso sopra menzionato, usiamoproducts e sale come x e y proprietà e market share come marker size.
Immettere il codice seguente nel notebook Jupyter.
company = ['A','B','C']
products = [13,6,23]
sale = [2354,5423,4251]
share = [23,47,30]
fig = go.Figure(data = [go.Scatter(
x = products, y = sale,
text = [
'company:'+c+' share:'+str(s)+'%'
for c in company for s in share if company.index(c)==share.index(s)
],
mode = 'markers',
marker_size = share, marker_color = ['blue','red','yellow'])
])
iplot(fig)
L'output sarebbe come mostrato di seguito -