J'essaie de définir les limites x et y sur un sous-tracé, mais j'ai du mal. Je soupçonne que la difficulté vient de mon manque fondamental de compréhension du fonctionnement des chiffres et des sous-intrigues. J'ai lu ces deux questions:
J'ai essayé d'utiliser cette approche, mais aucun n'a eu d'effet sur les limites x et y. Voici mon code:
fig = plt.figure(figsize=(9,6))
ax = plt.subplot(111)
ax.hist(sub_dict['b'], bins=30, color='r', alpha=0.3)
ax.set_ylim=([0,200])
ax.set_xlim=([0,100])
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()
Je suis confus quant à savoir si appliquer des commandes à fig ou ax? Par exemple .xlabel et .title ne semblent pas être disponibles pour ax. Merci
3 réponses
Un peu plus sur Google et j'ai obtenu ce qui a fonctionné:
sub_dict = subset(data_dict, 'b', 'a', greater_than, 10)
fig = plt.figure(figsize=(9,6))
ax = fig.add_subplot(111)
ax.hist(sub_dict['b'], bins=30, color='r', alpha=0.3)
plt.ylim(0,250)
plt.xlim(0,100)
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()
Pour un multiplot, où vous avez des sous-parcelles dans une seule figure, vous pouvez avoir plusieurs xlabel
et un title
fig.title("foobar")
ax.set_xlabel("x")
Ceci est expliqué en détail here sur le site Web de Matplotlib.
Dans votre cas, utilisez un sous-tracé pour un seul tracé. C'est possible, cela n'a pas beaucoup de sens. Les tracés comme celui ci-dessous sont censés être créés avec la fonction de sous-tracé:
Pour répondre à votre question: vous pouvez définir les limites x et y par sous-tracé et par axe en adressant simplement directement le sous-tracé respectif (ax
pour le sous-tracé 1) et en les appelant le {{X1} } fonction membre pour définir l'étiquette sur l'axe des x.
MODIFIER
Pour votre question mise à jour:
Utilisez ce code comme source d'inspiration, j'ai dû générer moi-même des données donc aucune garantie:
import matplotlib.pyplot as plt
plt.hist(sub_dict['b'], bins=30, color='r', alpha=0.3)
plt.ylim(0,200)
plt.xlim(0,100)
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()
Pourquoi ne faites-vous pas: Axe = fig.add_subplot (111)
import matplotlib.pyplot as plt
import numpy as np
mu, sigma = 100, 15
x = mu + sigma*np.random.randn(100)
fig = plt.figure(figsize=(9,6))
ax = fig.add_subplot(111)
ax.hist(x, bins=30, color='r', alpha=0.3)
ax.set_ylim=(0, 200)
ax.set_xlim=(0, 100)
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()
J'ai exécuté votre code sur un exemple de code et je joins la capture d'écran. Je ne suis pas sûr que ce soit le résultat souhaité, mais c'est ce que j'ai obtenu.
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.