我在用一些数据点绘制曲线:
points = [[0.0, 0.0], [1, 3], [3, 5]]
.我希望它达到,比如说,y = 10,因为x到无穷大。换句话说,要追加的额外“点”是:[float('inf'), 10]
有没有办法让matplotlib
画出曲线最后一部分的渐近行为?
Matplotlib忽略了float('info')
,所以我想应该有另一种方法来做到这一点。
我在用一些数据点绘制曲线:
points = [[0.0, 0.0], [1, 3], [3, 5]]
.我希望它达到,比如说,y = 10,因为x到无穷大。换句话说,要追加的额外“点”是:[float('inf'), 10]
有没有办法让matplotlib
画出曲线最后一部分的渐近行为?
Matplotlib忽略了float('info')
,所以我想应该有另一种方法来做到这一点。
1条答案
按热度按时间ffscu2ro1#
你不能画一个无穷大的函数,因为它不是一个数字。我认为达到你想要的效果的唯一方法是用一个断轴和数据点画在一些任意大的数字上。如何做断图is available from the official matplotlib site.的一个例子
基本思想是创建两个子图,巧妙地去除边界,使其看起来像一个单一的图,然后添加一些花哨的对角线,使其看起来像一个传统的“破碎”图。您可以通过替换足够大的数字,在自己的子图中绘制无穷大数据点(使曲线看起来正确)。然后只需将刻度重新标记为无穷大(
ax.set_xticks([large_number])
ax.set_xticklabels(['\infty']
),假设ax
是第二个图,只有你的无穷大点),你就可以做生意了!我最近使用了上面例子的修改形式来绘制一个“在无穷远”的点。我有这样做的代码,但它充满了对我的特定数据的引用,所以它可能会像官方例子一样对你有帮助。