常规连接线如何连接点

时间:2018-06-14 21:22:54

标签: python arrays matrix vector plot

我有两个矩阵,falsexy的大小为x行和10列,50也是如此。

我的数据是逐行配对的。这意味着

y

当我使用以下命令进行绘图时,

x[0][:] <-> y[0][:]
x[1][:] <-> y[1][:]
x[2][:] <-> y[2][:]

......
x[49][:] <-> y[0][:]

plot(x[:][:],y[:][:],'b-o')

做情节,&#39; - &#39;如下所示连接水平方向的点:

enter image description here

然而,当我只绘制一行信号时:

plot(x,y,'b-o')

看起来是正确的:

enter image description here

我想要&#39; - &#39;以水平方式连接点。像这样:

enter image description here

而不是做for循环,我该如何以矩阵格式进行?感谢。

1 个答案:

答案 0 :(得分:0)

制作一些数据进行演示。

import numpy as np
from matplotlib import pyplot as plt

x = np.matrix(
    [
        [1, 1, 1, 1],
        [2, 2, 2, 2],
        [3, 3, 3, 3],
        [4, 4, 4, 4]
    ]
)

y = x.transpose()

# Vertical Lines of grid:
plt.plot(x, y, 'b-o')
plt.show()

vert

# Horizontal Lines
plt.plot(x, y, 'b-o')
plt.show()

hori

# Together (this is what I think you want)
plt.plot(y, x, 'b-o')
plt.plot(x, y, 'b-o')
plt.show()

grid

如果你试图将它们连接起来在一个大矩阵中完成它,它会通过连接我们真正不想连接的几个点来做一些看似愚蠢的事情。

# sillyness
x1 = np.concatenate((x, y), axis=0)
y1 = np.concatenate((y, x), axis=0)

plt.plot(x1, y1, 'b-o')
plt.show()

enter image description here