Matplotlib绘制三角形缺失最后一条边的问题求助
解决Matplotlib绘制三角形仅显示两条边的问题
问题原因
当你用plt.plot(x_coord, y_coord)时,Matplotlib会按列表顺序依次连接点:(x₁,y₁)→(x₂,y₂)→(x₃,y₃),但不会自动闭合回到起点,所以缺失第三条边。你之前尝试的补全代码参数格式错误,导致无法生效。
两种可行解决方案
方案1:闭合坐标列表
把三角形的起点坐标追加到x_coord和y_coord的末尾,让plot自动完成闭合连线:# 假设x_coord = [x1, x2, x3], y_coord = [y1, y2, y3] x_coord.append(x_coord[0]) y_coord.append(y_coord[0]) plt.plot(x_coord, y_coord)方案2:单独绘制第三条边
先画前两条边,再单独调用plot绘制从最后一个点回到起点的边:plt.plot(x_coord, y_coord) # 绘制(x1,y1)-(x2,y2)-(x3,y3) # 绘制(x3,y3)-(x1,y1) plt.plot([x_coord[-1], x_coord[0]], [y_coord[-1], y_coord[0]])
为什么你之前的代码没生效?
你写的plt.plot(x_coord, y_coord, x_coord[0], y_coord[1])不符合Matplotlib的参数规则:plt.plot的参数格式是(x1, y1, [格式字符串], x2, y2, [格式字符串], ...),这里x_coord[0]会被当成格式字符串(比如颜色代码),而非坐标点,所以无法正确绘制第三条边。
内容的提问来源于stack exchange,提问作者Kadel
相关产品推荐
相关产品推荐

