python多维数据_如何在python中绘制多维数据点

首先,如果你想在你的图表中将13个系数的数组表示为单个点,那么你需要将13个系数分解为图表中的维数,正如yan king yin在他的评论中指出的那样.

要将数据投影到2维,您可以自己创建相关指标,例如最大/最小/标准偏差/ ….或者应用降维等方法,如PCA.

是否这样做以及如何这样做是另一个话题.

我提供了此解决方案的示例代码:

import matplotlib.pyplot as plt

import numpy as np

#fake example data

song1 = np.asarray([1, 2, 3, 4, 5, 6, 2, 35, 4, 1])

song2 = song1*2

song3 = song1*1.5

#list of arrays containing all data

data = [song1, song2, song3]

#calculate 2d indicators

def indic(data):

#alternatively you can calulate any other indicators

max = np.max(data, axis=1)

min = np.min(data, axis=1)

return max, min

x,y = indic(data)

plt.scatter(x, y, marker='x')

plt.show()

结果如下:

8681d3fa5ffb7d4763549305853f5811.png

然而,我想为您的潜在问题提出另一种解决方案,即:绘制多维数据.

我建议使用一些parralel坐标图,它可以使用相同的伪数据构建:

import pandas as pd

pd.DataFrame(data).T.plot()

plt.show()

然后结果显示沿x轴的每首歌曲的所有系数和沿y轴的每个歌曲的所有系数.我看起来如下:

757503793270cd42b925d9102ba60263.png


版权声明:本文为weixin_32337913原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。