Comme vous pouvez le constater, le code produit un diagramme en barres qui n'est pas aussi clair et je souhaite agrandir la figure pour que les valeurs soient mieux visibles. Cela ne le fait pas. Quelle est la bonne façon? x est une base de données et x['user']
est l’axe des x du tracé et x['number']
est le y.
import matplotlib.pyplot as plt
%matplotlib inline
plt.bar(x['user'], x['number'], color="blue")
plt.figure(figsize=(20,10))
La ligne avec le fichier plt.figure ne modifie pas les dimensions initiales.
Une option (comme mentionné par @tda), et probablement la meilleure méthode, consiste à mettre le plt.figure
Avant le plt.bar
:
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(20,10))
plt.bar(x['user'], x['number'], color="blue")
Une autre option, si vous souhaitez définir la taille de la figure après avoir créé celle-ci, consiste à utiliser fig.set_size_inches
(remarque que j'ai utilisée plt.gcf
) ici pour obtenir le chiffre actuel):
import matplotlib.pyplot as plt
%matplotlib inline
plt.bar(x['user'], x['number'], color="blue")
plt.gcf().set_size_inches(20, 10)
Il est possible de faire tout cela en une seule ligne, bien que ce ne soit pas le code le plus propre. Vous devez d’abord créer la figure, puis obtenir l’axe actuel ( fig.gca
), puis tracer le diagramme en barres dessus:
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(20, 10)).gca().bar(x['user'], x['number'], color="blue")
Enfin, je noterai qu’il est souvent préférable d’utiliser l’approche matplotlib orientée objet, qui consiste à enregistrer une référence à la figure et aux axes actuels et à appeler directement toutes les fonctions de traçage. Cela peut ajouter plus de lignes de code, mais il s'agit généralement d'un code plus clair (et vous pouvez éviter d'utiliser des éléments tels que gcf()
et gca()
). Par exemple:
import matplotlib.pyplot as plt
%matplotlib inline
fig = plt.figure(figsize=(20, 10)
ax = fig.add_subplot(111)
ax.bar(x['user'], x['number'], color="blue")
Essayez de définir la taille de la figure avant d’affecter ce qu’il faut tracer, comme ci-dessous:
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=(20,10))
plt.bar(x['user'], x['number'], color="blue")