Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在matplotlib中绘制不同形状的二维阵列_Python_Matplotlib - Fatal编程技术网

Python 在matplotlib中绘制不同形状的二维阵列

Python 在matplotlib中绘制不同形状的二维阵列,python,matplotlib,Python,Matplotlib,我找不到这个具体案例的任何答案。假设我想从以下数据创建散点图: y = np.array([[1,2,3,6,5,3,4,2],[1,2,4,5,5,3,3,2]]) X = np.array([[86],[82]]) 其中y[0]的所有值都是X[0](86)的对应值,依此类推。我知道我可以使用numpyrepeat函数,但我想也许还有其他更可行的选项?我尝试过重塑任何阵列的形状,但没有任何帮助。有什么想法吗?我非常喜欢numpy的平铺功能。我不认为有什么办法可以“放大”X[I]使其与y[I]

我找不到这个具体案例的任何答案。假设我想从以下数据创建散点图:

y = np.array([[1,2,3,6,5,3,4,2],[1,2,4,5,5,3,3,2]])
X = np.array([[86],[82]])

其中
y[0]
的所有值都是
X[0]
(86)的对应值,依此类推。我知道我可以使用numpy
repeat
函数,但我想也许还有其他更可行的选项?我尝试过重塑任何阵列的形状,但没有任何帮助。有什么想法吗?

我非常喜欢numpy的平铺功能。我不认为有什么办法可以“放大”X[I]使其与y[I]的长度相匹配

import numpy as np
import matplotlib.pyplot as plt

y = np.array([[1,2,3,6,5,3,4,2],[1,2,4,5,5,3,3,2]])
X = np.array([[86],[82]])

for i in range(len(X)):
    plt.plot(np.tile(X[i], len(y[i])), y[i], '.')

我真的很喜欢numpy的平铺功能。我不认为有什么办法可以“放大”X[I]使其与y[I]的长度相匹配

import numpy as np
import matplotlib.pyplot as plt

y = np.array([[1,2,3,6,5,3,4,2],[1,2,4,5,5,3,3,2]])
X = np.array([[86],[82]])

for i in range(len(X)):
    plt.plot(np.tile(X[i], len(y[i])), y[i], '.')

你不需要做太多。Matplotlib将数据的每一列视为一个单独的、可广播的数据集。所以你需要做的就是转换你的输入,让它发挥它的魔力

plt.scatter(x.T, y.T)

你不需要做太多。Matplotlib将数据的每一列视为一个单独的、可广播的数据集。所以你需要做的就是转换你的输入,让它发挥它的魔力

plt.scatter(x.T, y.T)

转换y数据转换y数据谢谢。虽然我已经试过了。我得到一个错误x和y的大小必须相同:(谢谢。虽然我已经尝试过了。我得到一个错误x和y的大小必须相同:(