Цветовая панель MatPlotlib с неправильным диапазоном на 3D-поверхностиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Цветовая панель MatPlotlib с неправильным диапазоном на 3D-поверхности

Сообщение Anonymous »

Я пытаюсь построить значение вокруг единичной сферы, используя график поверхности и цвета граней в matplotlib, но моя цветовая панель показывает нормализованные значения вместо реальных значений. Как я могу это исправить, чтобы цветовая полоса имела правильный диапазон?

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from matplotlib import cm

fig, ax = plt.subplots(subplot_kw={"projection": "3d"}, figsize = (10, 14))

# Make data
n_points = 500
r = 1
u = np.linspace(0, 2 * np.pi, n_points)
v = np.linspace(0, np.pi, n_points)
x = r * np.outer(np.cos(u), np.sin(v))
y = r * np.outer(np.sin(u), np.sin(v))
z = r * np.outer(np.ones(np.size(u)), np.cos(v))

ax.plot_wireframe(x, y, z, color="grey", alpha = 0.1)

data = np.random.uniform(0.2, 0.5, n_points)
heatmap = np.array(np.meshgrid(data, data))[1]

ax.set_aspect("equal")

ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')

colormap = cm.viridis
normaliser = mpl.colors.Normalize(vmin=np.min(heatmap), vmax=np.max(heatmap))

print(np.min(heatmap))
print(np.max(heatmap))

surf = ax.plot_surface(
x, y, z,
facecolors=colormap(normaliser(heatmap)), shade=False)

fig.colorbar(surf, shrink=0.5, aspect=10, label="Singlet yield", pad = 0.05, norm = normaliser)

plt.show()

Это выводит 0,20009725794516225 и 0,49936395079063567 как минимальное и максимальное значения на отпечатках, но на следующем изображении вы можете видеть диапазон цветовой панели от 0 до 1.
Изображение

Как исправить эту проблему и сделать так, чтобы цветовая полоса имела соответствующие цвета?

Подробнее здесь: https://stackoverflow.com/questions/793 ... 3d-surface
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»