Matplotlib有一个函数可以在图坐标系中写文本(.figtext())。
是否有一种方法可以做同样的事情,但是画线呢?
特别是我的目标是绘制线来将y轴上的一些刻度分组。
Matplotlib有一个函数可以在图坐标系中写文本(.figtext())。
是否有一种方法可以做同样的事情,但是画线呢?
特别是我的目标是绘制线来将y轴上的一些刻度分组。
Python 3.8.12
和 Matplotlib 3.4.3
中经过测试import numpy as np
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
x = np.linspace(0,10,100)
y = np.sin(x)*(1+x)
fig, ax = plt.subplots()
ax.plot(x,y,label='a')
# new clear axis overlay with 0-1 limits
ax2 = plt.axes([0,0,1,1], facecolor=(1,1,1,0))
x,y = np.array([[0.05, 0.1, 0.9], [0.05, 0.5, 0.9]])
line = Line2D(x, y, lw=5., color='r', alpha=0.4)
ax2.add_line(line)
plt.show()
如果想要与刻度对齐,为什么不使用绘图坐标呢?
ax.add_line(line)
,但坐标大致接近刻度标记的位置...) - Maxline.set_clip_on(False)
。你需要另一个示例吗? - Paulfig.add_artist(line)
替代ax2.add_line(line)
,这样你就可以处理整个图而不仅是一个子图。 - raquelhortab