Plotly - Balkendiagramm und Kreisdiagramm
In diesem Kapitel erfahren Sie, wie Sie mithilfe von Plotly Balken- und Kreisdiagramme erstellen. Beginnen wir mit dem Verständnis des Balkendiagramms.
Balkendiagramm
Ein Balkendiagramm zeigt kategoriale Daten mit rechteckigen Balken mit Höhen oder Längen, die proportional zu den Werten sind, die sie darstellen. Balken können vertikal oder horizontal angezeigt werden. Es hilft, Vergleiche zwischen diskreten Kategorien zu zeigen. Eine Achse des Diagramms zeigt die spezifischen Kategorien, die verglichen werden, und die andere Achse repräsentiert einen gemessenen Wert.
Das folgende Beispiel zeigt eine einfache bar chartüber die Anzahl der Studenten, die für verschiedene Kurse eingeschrieben sind. Dasgo.Bar() Die Funktion gibt eine Balkenspur mit der x-Koordinate als Liste der Fächer und der y-Koordinate als Anzahl der Schüler zurück.
import plotly.graph_objs as go
langs = ['C', 'C++', 'Java', 'Python', 'PHP']
students = [23,17,35,29,12]
data = [go.Bar(
x = langs,
y = students
)]
fig = go.Figure(data=data)
iplot(fig)
Die Ausgabe erfolgt wie unten gezeigt -
Um ein gruppiertes Balkendiagramm anzuzeigen, klicken Sie auf barmode Die Eigenschaft des Layout-Objekts muss auf gesetzt sein group. Im folgenden Code werden mehrere Spuren, die die Schüler in jedem Jahr darstellen, gegen die Fächer aufgetragen und als gruppiertes Balkendiagramm angezeigt.
branches = ['CSE', 'Mech', 'Electronics']
fy = [23,17,35]
sy = [20, 23, 30]
ty = [30,20,15]
trace1 = go.Bar(
x = branches,
y = fy,
name = 'FY'
)
trace2 = go.Bar(
x = branches,
y = sy,
name = 'SY'
)
trace3 = go.Bar(
x = branches,
y = ty,
name = 'TY'
)
data = [trace1, trace2, trace3]
layout = go.Layout(barmode = 'group')
fig = go.Figure(data = data, layout = layout)
iplot(fig)
Die Ausgabe desselben ist wie folgt:
Das barmodeDie Eigenschaft legt fest, wie Balken an derselben Positionskoordinate im Diagramm angezeigt werden. Definierte Werte sind "Stapel" (Balken übereinander gestapelt), "relativ" (Balken sind übereinander gestapelt, mit negativen Werten unter der Achse, positive Werte über).group"(Balken nebeneinander gezeichnet).
Durch Ändern der Barmode-Eigenschaft in 'stack'Die geplottete Grafik erscheint wie folgt:
Kuchendiagramm
Ein Kreisdiagramm zeigt nur eine Datenreihe an. Pie Charts Zeigen Sie die Größe der Elemente an (aufgerufen wedge) in einer Datenreihe, proportional zur Summe der Elemente. Datenpunkte werden als Prozentsatz des gesamten Kuchens angezeigt.
Das pie() Funktion in graph_objs Modul - go.Pie(), gibt eine Pie-Spur zurück. Zwei erforderliche Argumente sindlabels und values. Lassen Sie uns ein einfaches Kreisdiagramm der Sprachkurse gegen die Anzahl der Schüler wie im hier angegebenen Beispiel zeichnen.
import plotly
plotly.tools.set_credentials_file(
username = 'lathkar', api_key = 'U7vgRe1hqmRp4ZNf4PTN'
)
from plotly.offline import iplot, init_notebook_mode
init_notebook_mode(connected = True)
import plotly.graph_objs as go
langs = ['C', 'C++', 'Java', 'Python', 'PHP']
students = [23,17,35,29,12]
trace = go.Pie(labels = langs, values = students)
data = [trace]
fig = go.Figure(data = data)
iplot(fig)
Die folgende Ausgabe wird im Jupyter-Notizbuch angezeigt -
Donut chartist ein Kreisdiagramm mit einem runden Loch in der Mitte, das es wie einen Donut aussehen lässt. Im folgenden Beispiel werden zwei Donut-Diagramme im 1X2-Rasterlayout angezeigt. Während 'labelDas Layout ist für beide Kreisspuren gleich. Das Zeilen- und Spaltenziel jedes Unterplots wird durch die Domäneneigenschaft festgelegt.
Zu diesem Zweck verwenden wir die Daten der parteipolitischen Sitze und des Stimmenanteils bei den Parlamentswahlen 2019. Geben Sie den folgenden Code in die Jupyter-Notizbuchzelle ein:
parties = ['BJP', 'CONGRESS', 'DMK', 'TMC', 'YSRC', 'SS', 'JDU','BJD', 'BSP','OTH']
seats = [303,52,23,22,22,18,16,12,10, 65]
percent = [37.36, 19.49, 2.26, 4.07, 2.53, 2.10, 1.46, 1.66, 3.63, 25.44]
import plotly.graph_objs as go
data1 = {
"values": seats,
"labels": parties,
"domain": {"column": 0},
"name": "seats",
"hoverinfo":"label+percent+name",
"hole": .4,
"type": "pie"
}
data2 = {
"values": percent,
"labels": parties,
"domain": {"column": 1},
"name": "vote share",
"hoverinfo":"label+percent+name",
"hole": .4,
"type": "pie"
}
data = [data1,data2]
layout = go.Layout(
{
"title":"Parliamentary Election 2019",
"grid": {"rows": 1, "columns": 2},
"annotations": [
{
"font": {
"size": 20
},
"showarrow": False,
"text": "seats",
"x": 0.20,
"y": 0.5
},
{
"font": {
"size": 20
},
"showarrow": False,
"text": "votes",
"x": 0.8,
"y": 0.5
}
]
}
)
fig = go.Figure(data = data, layout = layout)
iplot(fig)
Die Ausgabe desselben ist unten angegeben -