python - 从一组起点和终点绘制线段

标签 python numpy matplotlib

假设你有一个形状为(n,2,2)的数组a,它由n行的起点和终点的坐标组成分段网。应该如何绘制这些线段。我的代码不起作用,尽管它逐个元素起作用,但不是一次全部起作用。这是我的代码:

from matplotlib import pyplot as plt
import numpy as np
a=np.asarray([[[0,0],[1,1]],[[1,2],[2,3]],[[5,2],[2,6]],[[7,3],[5,9]]])
plt.plot(a[:,:,0],a[:,:,1])
plt.show()

我想得到的是: enter image description here 但是我的代码输出是: enter image description here 我应该如何纠正这个问题?

最佳答案

你只需要转置你的数组:

plt.plot(a[:,:,0].T,a[:,:,1].T)

原因是 matplotlib 对二维数组 a 轴的标准解释,其中 a[i,j] 的意思是是第 j 个图的第 i 个值。

关于python - 从一组起点和终点绘制线段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20058711/

相关文章:

python - mpld3 的数据安全

python - 如何将唯一标识符与 Python 应用程序中的 PostgreSQL 连接关联起来?

python - matplotlib 中的十六进制 X 轴?

python - 训练完成后在神经网络中测试数据的代码

Python索引错误: Out of bounds

python - Numpy loadtxt 四舍五入数字

python - Matplotlib 3d 散点图缺少颜色图

python - Matplotlib将某些字符绘制为空白正方形

python - 如何获取包含 np.NAN 的二维数组在特定百分位数范围内的位置

python - 按下时更改 matplotlib 按钮颜色