Tracé - Graphiques et tableau de points
Ici, nous allons en apprendre davantage sur les diagrammes de points et la fonction de table dans Plotly. Tout d'abord, commençons par les diagrammes de points.
Tracés de points
Un dot plot affiche les points sur une échelle très simple. Il ne convient que pour une petite quantité de données car un grand nombre de points le rendra très encombré. Les tracés de points sont également appelésCleveland dot plots. Ils montrent les changements entre deux (ou plus) moments dans le temps ou entre deux (ou plus) conditions.
Les graphiques à points sont similaires aux graphiques à barres horizontales. Cependant, ils peuvent être moins encombrés et permettre une comparaison plus facile entre les conditions. La figure trace une trace de dispersion avec l'attribut mode défini sur marqueurs.
L'exemple suivant montre une comparaison du taux d'alphabétisation des hommes et des femmes tel qu'il a été enregistré dans chaque recensement après l'indépendance de l'Inde. Deux traces dans le graphique représentent le pourcentage d'alphabétisation des hommes et des femmes dans chaque recensement après 1951 jusqu'en 2011.
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)
La sortie serait comme indiqué ci-dessous -
Table dans Plotly
L'objet Table de Plotly est renvoyé par go.Table()fonction. La trace de table est un objet graphique utile pour l'affichage de données détaillées dans une grille de lignes et de colonnes. Le tableau utilise un ordre de colonne principal, c'est-à-dire que la grille est représentée comme un vecteur de vecteurs de colonne.
Deux paramètres importants de go.Table() fonction sont header qui est la première ligne du tableau et cellsqui forment le reste des rangées. Les deux paramètres sont des objets de dictionnaire. L'attribut values of headers est une liste d'en-têtes de colonnes et une liste de listes, chacune correspondant à une ligne.
La personnalisation supplémentaire du style est effectuée par linecolor, fill_color, police et autres attributs.
Le code suivant affiche le tableau des points de l'étape du tournoi à la ronde de la Coupe du monde de cricket 2019 récemment conclue.
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)
La sortie est comme mentionné ci-dessous -
Les données de table peuvent également être remplies à partir de la trame de données Pandas. Créons un fichier séparé par des virgules (points-table.csv) comme ci-dessous -
Les équipes | Tapis | A gagné | Perdu | Lié | NR | Pts | NRR |
---|---|---|---|---|---|---|---|
Inde | 9 | sept | 1 | 0 | 1 | 15 | 0.809 |
Australie | 9 | sept | 2 | 0 | 0 | 14 | 0,868 |
Angleterre | 9 | 6 | 3 | 0 | 0 | 14 | 1,152 |
Nouvelle-Zélande | 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 |
Afrique du Sud | 9 | 3 | 5 | 0 | 1 | sept | -0,03 |
Bangladesh | 9 | 3 | 5 | 0 | 1 | sept | -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
Nous construisons maintenant un objet dataframe à partir de ce fichier csv et l'utilisons pour construire la trace de table comme ci-dessous -
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)