首页 > 解决方案 > 在 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函数,但我想也许还有其他更可行的选择?我试图重塑任何阵列,但没有帮助。有任何想法吗?

标签: pythonmatplotlib

解决方案


我真的很喜欢 numpy 的 tile 功能。我认为没有办法“放大” 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], '.')

推荐阅读