Plotly - Punktdiagramme und Tabelle
Hier erfahren Sie mehr über Punktdiagramme und Tabellenfunktionen in Plotly. Beginnen wir zunächst mit Punktdiagrammen.
Punktdiagramme
Ein Punktdiagramm zeigt Punkte auf einer sehr einfachen Skala an. Es ist nur für eine kleine Datenmenge geeignet, da es aufgrund einer großen Anzahl von Punkten sehr unübersichtlich aussieht. Punktdiagramme sind auch bekannt alsCleveland dot plots. Sie zeigen Änderungen zwischen zwei (oder mehr) Zeitpunkten oder zwischen zwei (oder mehr) Bedingungen.
Punktdiagramme ähneln dem horizontalen Balkendiagramm. Sie können jedoch weniger überladen sein und einen einfacheren Vergleich zwischen den Bedingungen ermöglichen. In der Abbildung ist eine Streuspur dargestellt, deren Modusattribut auf Markierungen festgelegt ist.
Das folgende Beispiel zeigt einen Vergleich der Alphabetisierungsrate zwischen Männern und Frauen, wie er in jeder Volkszählung nach der Unabhängigkeit Indiens aufgezeichnet wurde. Zwei Spuren in der Grafik geben den Alphabetisierungsgrad von Männern und Frauen in jeder Volkszählung nach 1951 bis 2011 an.
from plotly.offline import iplot, init_notebook_mode
init_notebook_mode(connected = True)
census = [1951,1961,1971,1981,1991,2001, 2011]
x1 = [8.86, 15.35, 21.97, 29.76, 39.29, 53.67, 64.63]
x2 = [27.15, 40.40, 45.96, 56.38,64.13, 75.26, 80.88]
traceA = go.Scatter(
x = x1,
y = census,
marker = dict(color = "crimson", size = 12),
mode = "markers",
name = "Women"
)
traceB = go.Scatter(
x = x2,
y = census,
marker = dict(color = "gold", size = 12),
mode = "markers",
name = "Men")
data = [traceA, traceB]
layout = go.Layout(
title = "Trend in Literacy rate in Post independent India",
xaxis_title = "percentage",
yaxis_title = "census"
)
fig = go.Figure(data = data, layout = layout)
iplot(fig)
Die Ausgabe wäre wie unten gezeigt -
Tabelle in Plotly
Das Table-Objekt von Plotly wird von zurückgegeben go.Table()Funktion. Die Tabellenverfolgung ist ein Diagrammobjekt, das für die detaillierte Datenanzeige in einem Raster aus Zeilen und Spalten nützlich ist. Die Tabelle verwendet eine Spalten-Hauptreihenfolge, dh das Gitter wird als Vektor von Spaltenvektoren dargestellt.
Zwei wichtige Parameter von go.Table() Funktion sind header Das ist die erste Zeile der Tabelle und cellswelche bilden den Rest der Zeilen. Beide Parameter sind Wörterbuchobjekte. Das Werteattribut von Überschriften ist eine Liste von Spaltenüberschriften und eine Liste von Listen, die jeweils einer Zeile entsprechen.
Weitere Anpassungen des Stils werden durch Linienfarbe, Füllfarbe, Schriftart und andere Attribute vorgenommen.
Der folgende Code zeigt die Punktetabelle der Round-Robin-Phase der kürzlich abgeschlossenen Cricket-Weltmeisterschaft 2019 an.
trace = go.Table(
header = dict(
values = ['Teams','Mat','Won','Lost','Tied','NR','Pts','NRR'],
line_color = 'gray',
fill_color = 'lightskyblue',
align = 'left'
),
cells = dict(
values =
[
[
'India',
'Australia',
'England',
'New Zealand',
'Pakistan',
'Sri Lanka',
'South Africa',
'Bangladesh',
'West Indies',
'Afghanistan'
],
[9,9,9,9,9,9,9,9,9,9],
[7,7,6,5,5,3,3,3,2,0],
[1,2,3,3,3,4,5,5,6,9],
[0,0,0,0,0,0,0,0,0,0],
[1,0,0,1,1,2,1,1,1,0],
[15,14,12,11,11,8,7,7,5,0],
[0.809,0.868,1.152,0.175,-0.43,-0.919,-0.03,-0.41,-0.225,-1.322]
],
line_color='gray',
fill_color='lightcyan',
align='left'
)
)
data = [trace]
fig = go.Figure(data = data)
iplot(fig)
Die Ausgabe ist wie unten erwähnt -
Tabellendaten können auch aus dem Pandas-Datenrahmen ausgefüllt werden. Lassen Sie uns eine durch Kommas getrennte Datei erstellen (points-table.csv) wie unten -
Teams | Matte | Gewonnen | Hat verloren | Gebunden | NR | Pkt | NRR |
---|---|---|---|---|---|---|---|
Indien | 9 | 7 | 1 | 0 | 1 | 15 | 0,809 |
Australien | 9 | 7 | 2 | 0 | 0 | 14 | 0,868 |
England | 9 | 6 | 3 | 0 | 0 | 14 | 1.152 |
Neuseeland | 9 | 5 | 3 | 0 | 1 | 11 | 0,175 |
Pakistan | 9 | 5 | 3 | 0 | 1 | 11 | -0,43 |
Sri Lanka | 9 | 3 | 4 | 0 | 2 | 8 | -0,919 |
Südafrika | 9 | 3 | 5 | 0 | 1 | 7 | -0.03 |
Bangladesch | 9 | 3 | 5 | 0 | 1 | 7 | -0,41 |
Teams,Matches,Won,Lost,Tie,NR,Points,NRR
India,9,7,1,0,1,15,0.809
Australia,9,7,2,0,0,14,0.868
England,9,6,3,0,0,12,1.152
New Zealand,9,5,3,0,1,11,0.175
Pakistan,9,5,3,0,1,11,-0.43
Sri Lanka,9,3,4,0,2,8,-0.919
South Africa,9,3,5,0,1,7,-0.03
Bangladesh,9,3,5,0,1,7,-0.41
West Indies,9,2,6,0,1,5,-0.225
Afghanistan,9,0,9,0,0,0,-1.322
Wir erstellen jetzt ein Datenrahmenobjekt aus dieser CSV-Datei und verwenden es, um die Tabellenverfolgung wie folgt zu erstellen:
import pandas as pd
df = pd.read_csv('point-table.csv')
trace = go.Table(
header = dict(values = list(df.columns)),
cells = dict(
values = [
df.Teams,
df.Matches,
df.Won,
df.Lost,
df.Tie,
df.NR,
df.Points,
df.NRR
]
)
)
data = [trace]
fig = go.Figure(data = data)
iplot(fig)