4D тепловая карта в matplotlib

Я хочу построить 4D тепловую карту в Python через matplotlib, как эта 4d карта.

У меня уже есть набор точек сетки 3D (x,y,z)и соответствующее ему значение функцииf,

Я думаю о заговоре, используя plot_surfaceс x, y, zв качестве трех требуемых массивов, и изменить градиент цвета, используяf,

Здесь есть способ использовать f для цветового градиента, но у меня проблемы с построением трехмерной сетки, которая подчеркнет, что третье измерение не зависит от первых двух. (Вторая ссылка показывает иначе.)

Или есть какой-нибудь способ лучше визуализировать эти 4D-данные с помощью matplotlib?

2 ответа

Я полагаю, что ваши данные имеют немного иную форму, но пока у вас есть точка для каждой вещи, которую вам нужно построить, вы можете использовать что-то вроде того, что они сделали здесь:

Как сделать 4d-сюжет используя Python с помощью matplotlib

Не существует хороших способов визуализации истинных 4D-функций (где третье измерение не зависит от первых двух, как вы описали), поэтому я написал небольшой пакет plot4d . Это должно быть в состоянии помочь вам визуализировать вашу функцию.

      from plot4d import plotter
f = lambda x, y, z: sin(x)*y*cos(z)-x**3
z_range = np.linspace(0,2,10)
frame = plotter.Frame2D(xmin=0, xmax=1, ymin=0, ymax=1)
plotter.plot4d(f, z_range, frame=frame, func_name='f')

Монтаж:

      pip install plot4d
Другие вопросы по тегам