首页 > 解决方案 > matplotlib 绘图函数忽略一行

问题描述

我想我在这里犯了一些小错误,但这让我困惑了一段时间。我试图使用 matplotlib 绘制一些线,但其中一条线被忽略了。只是为了确保没有其他东西干扰这条线,我创建了一个只有这三行情节的新脚本,但我仍然没有得到中间线(从(1,1)到(20,20)) . 任何帮助表示赞赏,在此先感谢!我已经复制了下面的脚本和输出:

import matplotlib.pyplot as plt
plt.plot([20,1], [1,20])
plt.plot([1,1], [20,20])
plt.plot([20,2], [2,20])

plt.xlim(0, 25)
plt.ylim(0, 25)
plt.gca().set_aspect('equal')   
plt.tight_layout()  
plt.show()

情节产生

标签: pythonmatplotlibplotline

解决方案


你没有得到一条线,因为起点和终点是相同的。请记住,为了得到从 (x1,y1) 到 (x2,y2) 的线,您必须编写plt.plot([x1,x2],[y1,y2]). 所以我认为你想要的是plt.plot([1,20],[1,20])

所以总的来说它是:

import matplotlib.pyplot as plt
plt.plot([20,1], [1,20])
plt.plot([1,20], [1,20])
plt.plot([20,2], [2,20])

plt.xlim(0, 25)
plt.ylim(0, 25)
plt.gca().set_aspect('equal')   
plt.tight_layout()  
plt.show()

推荐阅读