绘制同起点两条线段问题求助:正确实现x-y与x-z线段绘制
问题修复:绘制以x为共同起点的两条线段
你当前代码的问题在于坐标定义错误:你把x、y、z写成了两个点的坐标分量列表,而不是单个点的坐标对。plt.plot(x, y)实际会连接(x[0], y[0])和(x[1], y[1]),也就是(0,7)到(9,2);plt.plot(x, z)则连接(0,4)到(9,3),这自然不是你要的从x点出发的两条线段。
要实现需求,需要先把每个点定义为单个坐标对,然后分别构造每条线段的x坐标列表和y坐标列表:
import matplotlib.pyplot as plt # 定义三个点的坐标(x点、y点、z点) x_point = (0, 9) y_point = (7, 2) z_point = (4, 3) # 绘制x-y线段:x坐标是x点和y点的x值,y坐标是x点和y点的y值 plt.plot([x_point[0], y_point[0]], [x_point[1], y_point[1]]) # 绘制x-z线段:同理构造坐标列表 plt.plot([x_point[0], z_point[0]], [x_point[1], z_point[1]]) plt.show()
或者也可以用更简洁的方式,直接把起点和终点的坐标组合起来:
import matplotlib.pyplot as plt x = (0,9) y = (7,2) z = (4,3) plt.plot(*zip(x, y)) # zip(x,y)会生成[(0,7), (9,2)],解包后就是x和y坐标列表 plt.plot(*zip(x, z)) plt.show()
这样就能得到以x点为共同起点,分别连接到y点和z点的两条线段了。
内容的提问来源于stack exchange,提问作者siegfried
相关产品推荐
相关产品推荐

