Graphique
ggplot2
from plotnine as pln
(
ggplot(economics) # What data to use
+ aes(x="date", y="pop") # What variable to use
+ geom_line() # Geometric object to use for drawing
)
geom_point()
geom_histogram()
geom_line()
Fenêtre et interface
fig = plt.figure(figsize=(25,20))
changer la taille du graphique.fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(15,5))
sous diviser un graphique en plusieurs cases ou superposer deux graphiques (sans nrows/ncols).
Warning
Dans ce cas indiquer l'argument : ax=axes[i]
lorsqu'il n'y a qu'une ligne.
Subdiviser la fenêtre graphiques
Cela permet d'afficher plusieurs graphiques sur la même sortie (image).
fig, axes = plt.subplots(nrows=2, ncols=1)
graph_sans = pd.crosstab(data['ligne'], data['colonne'], normalize='index').plot.bar(stacked=True, ax=axes[0])
graph_avec = pd.crosstab(data['ligne'], data['colonne'], normalize='index').plot.bar(stacked=True, ax=axes[1])
A la fin, on peut forcer l'affichage avec plt.show()
Pyplot graphiques
from matplotlib import pyplot as plt
Utiliser le style de seaborn : sns.set()
plot(<x>, y, type_point)
par défaut renvoie un graphique en ligne ou un nuage de points.
Paramètre : faire une chaîne de caractères
- L1 couleur
'r'
rouge'y'
jaune'b'
bleu -
L2 type de points :
o
gros points.
petit points^
triangles
carré+
croix
-
L3 type de lignes :
-
ligne.--
pointillé.
Example
ro--
points rouges reliés par des traits en pointillé.
Types de graphiques
-
plt.scatter(x,y)
nuage de points.marker='x'
type de points (croix).
-
plt.bar(libelle, valeur, width=, align='edge')
Diagramme en barre et histogramme. Les libellés doivent être au format texte. plt.pie(valeur, labels=, radius=)
camembert.plt.axhline()
etplt.axhline()
ligne horizontale et verticale.
Paramètres globaux :
color="red"
changer la couleur.
Paramètres des axes
plt.show()
afficher le graphique.-
plt.axis([xmin, xmax, ymin, ymax])
changer l'affichage des axes."off"
ne pas afficher d'axe.
-
plt.grid(True)
afficher une grille. plt.xticks(rotation=45)
changer la rotation des étiquettes de données.-
plt.yscale('log')
passer en échelle logarithmique. Paramètre :base=2
changer la base
Masquer un axe :
ax = plt.gca()
ax.get_yaxis().set_visible(False)
Etiquettes, libellés et titre
plt.xlabel(texte)
libellés de l'axe des abcisses.plt.ylabel(texte)
libellés de l'axe des ordonnées.plt.title(titre)
ajouter un titre.plt.text(x, y, texte)
placer du texte n'importe ou dans la fenêtre.-
plt.legend(loc='upper right')
position de la légende (légende à l'extérieur du graphiqueplt.legend(bbox_to_anchor=(1.02, 1), loc='upper left', borderaxespad=0)
).title="titre"
titre de la box.
-
plt.grid()
afficher une grille.
Ajouter plusieurs graphiques à une seule image
plt.figure('train', (largeur, hauteur))
créer une image subdiviser.subplot(nb_lignes, nb_col, i+1)
ajouter un graphique à l'image. Les positions sont numérotées à partir de 1.
Autres
plt.boxplot(vecteur)
boxplot.plt.matshow(mat_cor)
matrice de corrélation.plt.fill_between(valeur_moyenne, valeur_dessus, valeur_dessous, color='b', alpha=0.2)
ajouter un intervalle d'erreur.
Afficher une image
-
imshow(numpy)
Paramètre :cmap='gray'
en valeur de gris.
plt.imshow(img)
plt.axis('off') # retirer les axes.
plt.show()
Seaborn graphique
Library import seaborn as sns
Paramètres :
data=data
jeu de données.hue='prot_diff'
mettre une couleur pour chaque groupe.color=
couleur
Graphiques :
-
heatmap(protfreq, annot=True)
matrice de température. Paramètres :annot_kws={"fontsize":8}
taille des annotations.fmt='.0f'
changer le format des nombres (0 indique le nbre de décimals).
-
clustermap()
heatmap avec un classification. -
histplot(vecteur)
afficher la distribution d'un vecteur quantitatif.multiple="stack"
empiler les valeurs avechue="var"
.
-
ecdfplot(data, x='var')
le nombre d'effectifs cumulé. -
complementary=True
inverser le cumule. -
barplot()
diagramme en barre.orient=v/h
horizontal, vertical.
-
boxplot(x=valeur, y=groupe)
boxplot. -
scatterplot(comm, x='CTR-PTROTAC', y='P3')
nuage de points.s=1
taille des points.
-
lineplot(x=, y=)
lignes.
Superposer deux graphiques
Superposer deux graphiques :
fig, ax1 = plt.subplots()
sns.histplot(x=donnee['RT [min]'], ax=ax1)
ax2 = ax1.twinx()
sns.lineplot(x=x, y=y, color = 'r', ax=ax2)
Faire plusieurs graphiques en fonction d'une condition
g = sns.FacetGrid(donnee, col="condition")
g.map(sns.histplot, "% ACN", binwidth=2).set(yscale='log')
Ajouter un élément au graphique
-
fig.axvline(1.25)
oufig.axhline(1.25)
ajouter une ligne verticale ou horizontale. Paramètres :linestyle=
type de lignes (:
pointillé,--
tiré ).
Ajouter les étiquettes de valeurs sur le graphique
bars = sns.graph(...)
for container in graph1.containers:
bars.bar_label(container)
Transformer des axes
graph.set_xscale()
changer le type d'axes (type :log
,symlog
, ...).graph.get_xticklabels()
récupérer la valeur des axes.
Modifier la présentation graphique
graph.set_xlabel("Colors")
changer le libellé de l'axe (set_ylabel
pour y).graph.set(xlabel='x-axis label', ylabel='y-axis label')
titre des deux axes.graph.set_title("Colors vs Values")
ajouter un titre.graph.set_xticklabels( fig.get_xticklabels(), rotation=45, horizontalalignment='right')
changer la rotation des libellés.plt.xticks(valeur, libellé)
changer les libellés des axes.
Enregister un graphique
graphique.get_figure().savefig('fichier.png')
enregistrer un graphique.
Si les libellés sont tronqués.
from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})
Diagramme de Venn
from matplotlib_venn import venn2, venn3
venn2(subsets=(10,5,2), set_labels =('Group A', 'Group B'))
diagramme de Venne avec deux groupes.venn3(subsets=(10,8,22,6,9,4,2))
diagramme de Venne avec trois groupes.
Pandas graphiques
Les dataframe pandas intégrent directement des représentations graphiques.
data.plot(x=, y=)
Type de graphique :
area()
aire.density()
fonction de densité.line()
lignes.pie()
camembert.bar()
diagramme en barre.-
barh()
diagramme en barre horizontal (.sort_values()
) pour classer les données. Paramètres :stacked=True
empilé.
-
scatter()
nuage de points. hist()
histogramme.
Paramètres :
legend=False
enlever la légendeax=
déterminer la position du graphique avec les fenetres subdivisées.