2017-02-21 20 views
0

У меня есть 4D сюжет с этим:Как получить шкалу цвета, используемые в палитре для 4D участка Matplotlib

import numpy as np 
from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 
from matplotlib import cm 

x = np.arange(100)/ 101 
y = np.sin(x) + np.cos(x) 
X,Y = np.meshgrid(x,y) 
Z = (X**2)/(Y**2) 
A = np.sin(Z) 

fig = plt.figure() 
ax = fig.add_subplot(111,projection= '3d') 
ax.plot_surface(X,Y, Z, facecolors=cm.Oranges(A)) 
plt.show() 

Выход Изображение

Но как я осматриваю масштаб цветовой карты?

ответ

-1

Вам нужно создать назначаемый из палитры

m = cm.ScalarMappable(cmap=cm.Oranges) 
m.set_array(A) 
cbar = plt.colorbar(m) 

как в ответ на этот вопрос: Matplotlib 3d plot - associate colorbar with different axis

+0

Почему вы перепроведение чужого ответа? вы уже проголосовали за то, чтобы закрыть это как дуп, так это просто для репутации? –

+0

В общих чертах это, конечно, дубликат. Но вы никогда не знаете, на каком уровне задан вопрос, и спрашивает ли собеседник непосредственно совпадение с вопросом и его ответом. Поэтому имеет смысл (по крайней мере, для меня) предоставить индивидуальный ответ на этот вопрос, который можно скопировать/вставить, чтобы заставить вышеуказанный код работать. Кроме того, для других, кто приходит к этому вопросу через поиск, этот ответ может быть более полезным, потому что он более сконденсирован, чтобы ответить, как получить цветную панель (в то время как в другом вопросе также есть некоторые компоненты относительно вращения X и Z в нем). – ImportanceOfBeingErnest

+0

хорошо, что вы ясно вложили в это много соображений, тогда у меня есть, извините за обвинение, и вы правы, это гораздо более прямой ответ, чем другой. –

 Смежные вопросы

  • Нет связанных вопросов^_^