Tracé - Graphique à barres et graphique à secteurs

Dans ce chapitre, nous allons apprendre à créer des graphiques à barres et à secteurs à l'aide de Plotly. Commençons par comprendre le graphique à barres.

Diagramme à bandes

Un graphique à barres présente des données catégorielles avec des barres rectangulaires avec des hauteurs ou des longueurs proportionnelles aux valeurs qu'elles représentent. Les barres peuvent être affichées verticalement ou horizontalement. Il aide à montrer des comparaisons entre des catégories discrètes. Un axe du graphique montre les catégories spécifiques comparées et l'autre axe représente une valeur mesurée.

L'exemple suivant trace un simple bar chartsur le nombre d'étudiants inscrits à différents cours. lego.Bar() La fonction renvoie une barre de trace avec une coordonnée x définie comme liste de sujets et une coordonnée y comme nombre d'étudiants.

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)

La sortie sera comme indiqué ci-dessous -

Pour afficher un graphique à barres groupé, le barmode la propriété de l'objet Layout doit être définie sur group. Dans le code suivant, plusieurs traces représentant les étudiants de chaque année sont tracées par rapport aux sujets et affichées sous forme de graphique à barres groupées.

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)

La sortie de la même chose est la suivante -

le barmodeLa propriété détermine comment les barres au même emplacement sont affichées sur le graphique. Les valeurs définies sont "stack" (barres empilées les unes sur les autres), "relative", (les barres sont empilées les unes sur les autres, avec des valeurs négatives sous l'axe, des valeurs positives au-dessus), "group"(barres tracées les unes à côté des autres).

En changeant la propriété du barmode en 'stack'le graphique tracé apparaît comme ci-dessous -

Diagramme circulaire

Un graphique à secteurs affiche une seule série de données. Pie Charts afficher la taille des éléments (appelé wedge) dans une série de données, proportionnelle à la somme des éléments. Les points de données sont affichés sous forme de pourcentage de la tarte entière.

le pie() fonction dans graph_objs module - go.Pie(), renvoie une trace Pie. Deux arguments obligatoires sontlabels et values. Tracez un graphique à secteurs simple des cours de langue par rapport au nombre d'étudiants comme dans l'exemple donné ci-dessous.

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)

La sortie suivante est affichée dans le notebook Jupyter -

Donut chartest un diagramme à secteurs avec un trou rond au centre qui le fait ressembler à un anneau. Dans l'exemple suivant, deux graphiques en anneau sont affichés dans une disposition de grille 1X2. Tandis que 'labelLa disposition est la même pour les traces à secteurs, la destination de la ligne et de la colonne de chaque sous-graphique est décidée par la propriété du domaine.

À cette fin, nous utilisons les données des sièges par parti et de la part des voix aux élections législatives de 2019. Entrez le code suivant dans la cellule du notebook Jupyter -

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)

La sortie de la même chose est donnée ci-dessous -