Во-первых, если вы хотите представить массив из 13 коэффициентов в виде единой точки на вашем графике, вам нужно разбить 13 коэффициентов до количества измерений на вашем графике, как указал Ян Царь Инь в своем комментарии. Для проецирования данных в 2 измерения вы можете либо сами создать соответствующие индикаторы, такие как макс. / Мин. / Стандартное отклонение / ...., либо применить методы уменьшения размерности, такие как PCA. Стоит ли это делать и как это делать - другая тема.
Затем строить график очень просто: http://matplotlib.org/api/pyplot_api.html
Я привожу пример кода для этого решения:
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()
Результаты выглядят так:
Тем не менее, я хочу предложить другое решение вашей основной проблемы, а именно: построение многомерных данных. Я рекомендую использовать какой-нибудь график координат, который можно построить с теми же фальшивыми данными:
import pandas as pd
pd.DataFrame(data).T.plot()
plt.show()
Затем результат показывает все коэффициенты для каждой песни по оси x и их значения по оси y. Я бы выглядел так:
ОБНОВЛЕНИЕ:
Тем временем я обнаружил галерею изображений Python, которая содержит два хороших примера многомерной визуализации со ссылкой код:
person
Nikolas Rieble
schedule
27.05.2016