在 y 轴上做一个小刻度线并用 matplotlib 中的文本对其进行注释
making a small tick mark across y-axis and annotating it with a text in matplotlib
我正在尝试在 y 轴的特定点上绘制一个带有小刻度线的图形并标记该点。这是一个示例图:
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()
使用此代码我可以生成以下图:
但是,我希望 y 轴上的刻度线如下所示:
如有任何帮助,我们将不胜感激。
谢谢!
由于Axes之外的artist被裁剪了,可以将clip_on
设为False,将xmin
设为负值,如:
ax.axhline(y=150, xmin=-0.02, xmax=0.02, clip_on=False)
我正在尝试在 y 轴的特定点上绘制一个带有小刻度线的图形并标记该点。这是一个示例图:
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()
使用此代码我可以生成以下图:
但是,我希望 y 轴上的刻度线如下所示:
如有任何帮助,我们将不胜感激。 谢谢!
由于Axes之外的artist被裁剪了,可以将clip_on
设为False,将xmin
设为负值,如:
ax.axhline(y=150, xmin=-0.02, xmax=0.02, clip_on=False)