Abondance relative des éléments chimiques

Où l’on exploite encore un jeu de données

Le jeu de données a été trouvé sur le site https://www.datastro.eu/pages/home/

Il indique le numéro atomique de 13 éléments, leurs noms, symboles, pourcentages sur Terre et dans l’Univers. Tout ce qu’il faut pour un graphique personnalisé avec Python.

Même sans maîtriser les fonctionnalités de Python et de son module graphique matplotlib, il vous sera facile de personnaliser ce graphe à votre convenance.

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

plt.rcParams["font.family"] = "Ubuntu"#Ici, une police installée sur votre ordinateur

#Extraction des valeurs du jeu de données :---------------------------------------
table=pd.read_csv("abondance-elements-chimiques.csv", delimiter=';', skiprows=1)
Z=table["AtomicNumber"]
symbole=table["Symbol"]
nom=table["FrenchName"]
PourcentTerre=table["Atoms%Earth"]
PourcentUniv=table["Atoms%Universe"]
#PourcentMasse=table["MassFraction"]#non utilisé
listeZ=Z.to_numpy()#pour graduer les abscisses
#-------------------------------------------------------------------------------------------
#Paramètres du graphiques :
fig=plt.figure(figsize=(7, 12), tight_layout=True)
ax=plt.subplot(111)
plt.title("Abondance relative des éléments chimiques", fontsize=14)
plt.xlabel("Numéro atomique croissant")
plt.ylabel("Pourcentage du nombre d'atomes")
largeur=0.5#largeur des barres

#Tracé des données :
plt.bar(Z-0.5*largeur, PourcentTerre, width=largeur, label="Terre",)
plt.bar(Z+0.5*largeur, PourcentUniv, width=largeur, label="Univers", )

#affichage des % :
seuilPourcent=0.1
for P in range(len(nom)):
    if PourcentUniv[P]>seuilPourcent:
        plt.text(Z[P], PourcentUniv[P]+0.5*largeur, "%.1f %%"%(PourcentUniv[P]),)
for P in range(len(nom)):
    if PourcentTerre[P]>seuilPourcent:
        plt.text(Z[P]-0.5*largeur, PourcentTerre[P]+0.5*largeur, "%.1f %%"%(PourcentTerre[P]),ha='right')

plt.xticks(listeZ, symbole)
plt.legend()
fig.savefig("AbondanceElements.png", dpi=300)
plt.show()

Le fichier Python (compressé) :

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.