Ich versuche, mithilfe von Oberflächenplot und Flächenfarben in Matplotlib einen Wert um die Einheitskugel herum darzustellen, aber meine Farbleiste zeigt die normalisierten Werte anstelle der tatsächlichen Werte an. Wie kann ich das beheben, damit die Farbleiste den richtigen Bereich hat?
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()
Dies gibt 0,20009725794516225 und 0,49936395079063567 als Min. und Max. in den Drucken aus, aber Sie können sehen, dass der Bereich der Farbleiste im folgenden Bild 0 bis 1 beträgt.
Wie kann ich dieses Problem beheben und dafür sorgen, dass die Farbleiste die richtigen Farben hat?
Ich versuche, mithilfe von Oberflächenplot und Flächenfarben in Matplotlib einen Wert um die Einheitskugel herum darzustellen, aber meine Farbleiste zeigt die normalisierten Werte anstelle der tatsächlichen Werte an. Wie kann ich das beheben, damit die Farbleiste den richtigen Bereich hat? [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] Dies gibt 0,20009725794516225 und 0,49936395079063567 als Min. und Max. in den Drucken aus, aber Sie können sehen, dass der Bereich der Farbleiste im folgenden Bild 0 bis 1 beträgt. [img]https://i.sstatic.net/cWnaDGRg.png[/img]
Wie kann ich dieses Problem beheben und dafür sorgen, dass die Farbleiste die richtigen Farben hat?
Ich versuche, mithilfe von Oberflächenplot und Flächenfarben in Matplotlib einen Wert um die Einheitskugel herum darzustellen, aber meine Farbleiste zeigt die normalisierten Werte anstelle der...
Ich versuche, eine 3D-Netzoberfläche mit matplotlib grafisch darzustellen und die Grenzen des Diagramms einzuschränken. Die X- und Y-Achsen sind korrekt eingeschränkt, aber es gibt einen Überlauf in...
Ich habe zwei Bereichseingänge. Der erste sollte niemals höher sein als die zweite, und das zweite sollte niemals niedriger sein als das erste. . Es funktioniert perfekt, wenn ich die Grenze auf eine...
Ich habe dieses Problem, in dem ich ein LED -Muster so erstellen möchte, dass das gleichmäßigste Licht in einem Bereich in einer Ebene 5 cm entfernt wird. Ich kann die Leistung der LEDs nicht einzeln...