我从一些数据点绘制一条曲线:如何用matplotlib绘制f(x)作为x走向无穷大?
points = [[0.0, 0.0], [1, 3], [3, 5]]
...我希望它达到,也就是说,Y = 10为x去无穷。换句话说,额外的“点”来追加将是:[float('inf'), 10]
有没有办法告诉matplotlib
绘制曲线的最后一部分的渐近行为?
Matplotlib无视float('info')
,所以我想应该有另一种方式来做到这一点。
我从一些数据点绘制一条曲线:如何用matplotlib绘制f(x)作为x走向无穷大?
points = [[0.0, 0.0], [1, 3], [3, 5]]
...我希望它达到,也就是说,Y = 10为x去无穷。换句话说,额外的“点”来追加将是:[float('inf'), 10]
有没有办法告诉matplotlib
绘制曲线的最后一部分的渐近行为?
Matplotlib无视float('info')
,所以我想应该有另一种方式来做到这一点。
你不能绘制无限的函数,因为它不是一个数字。我认为实现所需效果的唯一方法是使用一个断开的轴,并将数据点绘制为任意大的数字。一个例子如何做破碎的阴谋is available from the official matplotlib site.
基本思想是创建两个边界巧妙删除的边界,以便看起来像一个单一的情节,然后添加一些花哨的对角线,使其看起来像一个传统的“破”情节。通过代入足够多的数字(使曲线看起来正确),您可以将自己的无穷大数据点绘制在其自己的子图中。然后,只需将tick重新标记为无穷大(ax.set_xticks([large_number])
ax.set_xticklabels(['\infty']
),假设ax
是仅有无穷远点的第二个情节),并且您在营业!
我最近使用上述示例的一个修改后的形式来绘制一个点“在无穷远处”。我有这样做的代码,但它充满了对我的具体数据的引用,所以它可能对你有帮助,就像官方的例子。
可能的重复[如何处理与Matplotlib的渐近线/不连续](http://stackoverflow.com/questions/2540294/how-to-handle-an-asymptote-discontinuity-with-matplotlib) – jonrsharpe
是的,我读它,但我没有得到任何三个答案。我如何将它们应用于我的问题? –
'matplotlib'不会绘制无限值('np.inf'或'float('inf')',因为这没有意义!您可以尝试使用大但非无限数字,例如'sys。 maxsize'。 – jonrsharpe