如何让matplotlib连接所有散点?

3

我想连接3个点,使它们形成一个三角形。我尝试了两种方法:

第一种方法是使用绘图函数在每个点之间绘制直线(从点1到点2、从点2到点3和从点3到点1),但是直线的位置不在我预期的位置上,因此我在下面的代码片段中将其注释掉了。第一条线可以正常绘制,但是随后的线却错位了。我检查了逻辑多次,似乎是正确的。也许有一些Matplotlib的规则我不知道。

另一种方法是使用散点图,并找到一种简单的方法将所有点连接起来,但我找不到任何方法或简单的方法来做到这一点。点可以正常绘制,但我无法将它们连接起来。这是我的代码片段(z是三个点x1、y1、x2、y2、x3、y3的列表):

def display_triangle(z):
import matplotlib.pyplot as plt

x_values = [z[0], z[2], z[4]]
y_values = [z[1], z[3], z[5]]
plt.scatter(x_values, y_values)
plt.xlabel('x - axis')
plt.ylabel('y - axis')
plt.show()

#point_1 = [x_values[0], y_values[0]]
#point_2 = [x_values[1], y_values[1]]
#point_3 = [x_values[2], y_values[2]]
#plt.plot(point_1,point_3, 'ro-')
#plt.plot(point_3,point_1, 'ro-')
#plt.plot(point_1,point_2, 'ro-')
#plt.plot(x_values, y_values)
1个回答

1
import matplotlib.pyplot as plt
x_values = [0, 0, 4, 0]
y_values = [0, 3, 0, 0]
plt.xlabel('x - axis')
plt.ylabel('y - axis')
plt.plot(x_values,y_values, 'ro-')
plt.show()

这个命令从0,0点开始画线,连接到0,3点,再连接到4,0点,最后回到0,0点来形成一个三角形。

太棒了!只需将第一个点的副本添加到末尾就非常聪明。谢谢! - PrimeNumber

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