GOOGLE ADS

lundi 18 avril 2022

faire une petite coche sur l'axe y et l'annoter avec un texte dans matplotlib

J'essaie de tracer une figure avec une petite coche sur un point particulier de l'axe y et d'étiqueter ce point. Voici un exemple de tracé :

df = pd.DataFrame({'x': np.arange(10),
'y': np.arange(100, 200, 10)})
fig,ax = plt.subplots(figsize =(4.5,4.5))
ax.plot(df.x,df.y)
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(0,10)
plt.ylim(100,200)
plt.annotate(r'$y_{i}$',\
xy = (0.2,150),
xytext = (-0.75,150))
ax.axhline(y=150, xmin=0, xmax=0.02)
plt.savefig("plot/sample plot.png", dpi = 1000)
plt.show()
plt.clf()

avec ce code, je pourrais produire l'intrigue suivante:
entrez la description de l'image ici

Cependant, je veux les graduations sur l'axe y comme suit:
entrez la description de l'image ici

Toute aide serait très appréciée. Merci!


Solution du problème

Étant donné que l'artiste à l'extérieur des axes est tronqué, vous pouvez définir clip_onsur False et définir xminune valeur négative, telle que :

ax.axhline(y=150, xmin=-0.02, xmax=0.02, clip_on=False)

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique ?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...