Вы можете использовать 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>)