matplotlib
中的函数是否类似于MATLAB的Extensions?
我基本上在寻找一种将线段扩展到图的方法。我目前的情节看起来像这样。
在查看另一个问题并应用公式之后,我能够将它带到这里,但它看起来仍然很混乱。
有没有人在这里有神奇的公式?
答案 0 :(得分:3)
请自行编写,因为我认为这不存在于matplotlib中。这是一个开始,你可以通过添加semiinfinite等来改善
import matplotlib.pylab as plt
import numpy as np
def extended(ax, x, y, **args):
xlim = ax.get_xlim()
ylim = ax.get_ylim()
x_ext = np.linspace(xlim[0], xlim[1], 100)
p = np.polyfit(x, y , deg=1)
y_ext = np.poly1d(p)(x_ext)
ax.plot(x_ext, y_ext, **args)
ax.set_xlim(xlim)
ax.set_ylim(ylim)
return ax
ax = plt.subplot(111)
ax.scatter(np.linspace(0, 1, 100), np.random.random(100))
x_short = np.linspace(0.2, 0.7)
y_short = 0.2* x_short
ax = extended(ax, x_short, y_short, color="r", lw=2, label="extended")
ax.plot(x_short, y_short, color="g", lw=4, label="short")
ax.legend()
plt.show()
我刚刚意识到你的情节上有一些红点,这些重要吗?无论如何,我认为你到目前为止解决的主要观点是缺少的是将情节限制设置为之前存在的那些,正如你所发现的那样,它们会得到扩展。