Как построить несколько строк матрицы в третьем измерении на графике? - PullRequest
0 голосов
/ 12 июня 2019

У меня есть матрица измерения (3,25000), где каждая строка является речевым сигналом измерения (1,25000). Я хочу построить ряды матрицы вдоль третьего измерения на трехмерном графике, что-то похожее на это -

! [1] https://ieeexplore.ieee.org/mediastore_new/IEEE/content/media/6221036/8642545/8249740/deb3-2787717-large.gif

пожалуйста, помогите

1 Ответ

0 голосов
/ 12 июня 2019

Вы можете использовать mplot3d.

Думайте о первом ряду как о категориальной оси, обозначающей «настроения» (как в вашей ссылке), второй ряд как ось y и третий ряд как z-ось.

Примечание. Из вашего вопроса не ясно, как категория связана с вашим массивом numpy.Однако вы не можете использовать массив символов первого ряда настроений в matplotlib для построения графика данных, поэтому вам нужно получить индексы для этих категорий.

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x,_=pd.factorize(<list of categories aligned with numpy array>[0]) #retrieving indices at categories
y=<your_array>[1]
z=<your_array>[2]
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot(x, y, z)
.
.
.

Наконец, вы можете установить свою ось Xмаркируется как:

ax.axes.set_xticks(x)
ax.axes.set_xticklabels(<insert list of your labels>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...