3Dポリゴンにカラーマップを適用しようとしています。 多角形がきれいで、正しい位置に表示されます。 私ができないのは、グラデーションで塗りつぶすことだけです。ここで3Dマットプリティブプロットの三角形をカラーグラデーションで塗りつぶす
は私のコードです:
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