Я пытаюсь применить colormap к 3D-полигону. Полигон в порядке, отображается в правильном положении. Единственное, что я не могу сделать, это заполнить его градиентом.Заполните треугольник в 3D-графике matplolib с градиентом цвета
Вот мой код:
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.colors import LinearSegmentedColormap
from mpl_toolkits.mplot3d.art3d import Poly3DCollection
fig = plt.figure()
ax = Axes3D(fig)
x = [0,0,0]
y = [0,1,0]
z = [0,0,1]
verts = [zip(x, y,z)] #(0,0,0) (0,1,0) (0,0,1)
colors = ['red', 'gray', 'gray', 'green']
index = [0.0, 0.49, 0.509, 1.0]
cm = LinearSegmentedColormap.from_list('my_colormap', zip(index, colors))
collection = Poly3DCollection(verts, cmap=cm)
ax.add_collection3d(collection)
plt.show()
Может кто-нибудь помочь мне, пожалуйста?
EDIT:
Кроме того, градиент должен выглядеть this
Цветовая палитра отображает числа в цвета. Какие номера вы хотите отобразить здесь? Или чего именно вы пытаетесь достичь? – ImportanceOfBeingErnest
Если вы запустите мой код, он отобразит синий треугольник. Вместо этого я хочу, чтобы этот треугольник был заполнен градиентом. Градиент - это тот, который определен в моем коде. –
Цветовая палитра определена в вашем коде, но нет никаких значений для сопоставления с цветовой схемой. В любом случае здесь вы создаете коллекцию с одним элементом (треугольником), и этот единственный элемент имеет один цвет. – ImportanceOfBeingErnest