簡體   English   中英

4D plot 表面不顯示我的第 4 維的 colors

[英]4D plot surface does'nt display the colors of my 4th dimension

我一直在嘗試 de plot 大氣中氣溶膠排放的 4D 圖,X = 經度,Y = 緯度,Z = 氣溶膠注入高度和 cbar = 排放量。

以下幾行完成了這項工作,但 cbar 數據似乎到處都是 0。

fig, ax = plt.subplots(subplot_kw={'projection': '3d'})
X, Y = np.meshgrid(lons2,lats2)
Z = Inj
C=Emi
scamap = plt.cm.ScalarMappable(cmap='inferno')
fcolors = scamap.to_rgba(C)
ax.plot_surface(X, Y, Z, facecolors=fcolors, cmap='inferno')
norm = mpl.colors.Normalize(vmin=0, vmax=10e-8)
fig.colorbar(scamap,norm=norm)
plt.show()

在此處輸入圖像描述

如您所見,它全是黑色的。

您對 plot 這些數據有什么建議或其他方法嗎? 也許分散可能是一個解決方案,但我無法弄清楚。

祝你有美好的一天,

您需要規范化 colors,如下所示:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.colors import Normalize

fig, ax = plt.subplots(subplot_kw={'projection': '3d'})
x = y = np.linspace(-2, 2)
X, Y = np.meshgrid(x, y)
Z = np.cos(X**2 + Y**2)
# color values
C = np.sqrt(X**2 + Y**2)
cmap = cm.inferno
norm = Normalize(vmin=np.amin(C), vmax=np.amax(C))
# create face colors from a colormap and normalized color values
fcolors = cmap(norm(C))
scamap = cm.ScalarMappable(cmap=cmap, norm=norm)
ax.plot_surface(X, Y, Z, facecolors=fcolors, cmap=cmap)
fig.colorbar(scamap)
plt.show()

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM