Matplotlib绘图(x,y):第一个点和最后一个点之间的连线

8

我正在使用Matplotlib绘制图表,使用plot(x, y)命令,其中x和y是数组。在生成的图表中,第一个点和最后一个点之间有一条线连接。如何避免连接第一个和最后一个点?


2
你使用的确切代码是什么 - 即绘图命令 - 请提供一个小例子来展示你的问题。 - Steve Barnes
这不是 matplotlib 的默认行为。y = arange(100) y = arange(100,0,-1) len x len y plot(x,y) 不会连接第一个和最后一个点。 - Paul
3
你的 x 值可能没有排序,或者最后一个 x 值(即 x[-1])与第一个 x 值 x[0] 重合。 - razvanc
请展示能够重现该问题的代码和数据。 - tacaswell
2
我刚遇到了同样的问题,发现使用GTK后端是问题所在。也就是说:matplotlib.use('GTK')会出现这种行为,而matplotlib.use('TkAgg')则不会。我认为这只发生在更新之后(我正在使用Debian)。 - ozbob
ozbob,你应该把这个作为一个答案。我在我的SSH会话中使用了-X转发,这解决了我的问题。谢谢 :) - user1506145
1个回答

4

我有一个类似的问题,可以看到:

之前 enter image description here

我只是使用了这个来排序 x

x = sorted(x)

当您看到以下内容时,该行已消失:(但由于排序,数据受到干扰)。

排序后 enter image description here

您还必须确保相应的 y 值也应按照排序后的 x 进行排列。最终输出如下:

修复后 enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接