Я пытаюсь построить значение вокруг единичной сферы, используя график поверхности и цвета граней в 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.
Как исправить эту проблему и сделать так, чтобы цветовая полоса имела соответствующие цвета?
Я пытаюсь построить значение вокруг единичной сферы, используя график поверхности и цвета граней в matplotlib, но моя цветовая панель показывает нормализованные значения вместо реальных значений. Как я могу это исправить, чтобы цветовая полоса имела правильный диапазон? [code]import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl from matplotlib import cm
# 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]
[/code] Это выводит 0,20009725794516225 и 0,49936395079063567 как минимальное и максимальное значения на отпечатках, но на следующем изображении вы можете видеть диапазон цветовой панели от 0 до 1. [img]https://i.sstatic.net/cWnaDGRg.png[/img]
Как исправить эту проблему и сделать так, чтобы цветовая полоса имела соответствующие цвета?
Я пытаюсь построить значение вокруг единичной сферы, используя график поверхности и цвета граней в matplotlib, но моя цветовая панель показывает нормализованные значения вместо реальных значений. Как я могу это исправить, чтобы цветовая полоса имела...
Я пытаюсь построить Contourf внутри виджета PySide6 с помощью следующего кода.
Холст Matplotlib создается с помощью этого класса:
class MplCanvas(FigureCanvasQTAgg):
Я работаю над анализом данных с использованием Pandas и Bokeh/Matplotlib
У меня есть столбцы данных X, Y и Z во фрейме данных. Я хочу создать из него поверхностный график (с конкретными точками сетки) (предпочтительно кубическую/сплайновую...
Я работаю над анализом данных с помощью Pandas.
У меня есть столбцы данных X, Y и Z во фрейме данных. Я хочу создать из него поверхностный график (с определенными точками сетки) (предпочтительно кубическую/сплайновую интерполяцию), который выглядит...
Я работаю над анализом данных с помощью Pandas.
У меня есть столбцы данных X, Y и Z во фрейме данных. Я хочу создать из него поверхностный график (с определенными точками сетки) (предпочтительно кубическую/сплайновую интерполяцию), который выглядит...