情节在散景中显示为黑色
Plot showing up black in Bokeh
我正在尝试从 hdf5 文件中绘制散景中的雷达数据。我已将数据存储到 1800*3600 的二维数组中。当我尝试使用 p.image
绘制数据时,它显示为黑色并带有一些斑点,我假设这些斑点是数据大于 0 的地方,但它不符合我指定的调色板。我不确定为什么会这样。
f = h5py.File(fname, 'r')
lat = f['Grid']['lat']
lon = f['Grid']['lon']
precip = f['Grid']['precipitationCal']
precip = np.transpose(precip)
d = np.empty((1800,3600))
for (x,y), value in np.ndenumerate(precip):
if value <= 0:
d[x,y]=np.nan
else:
d[x,y]=value
output_file("testimage.html", title="image.py example")
p = figure(x_range = [0, 3600], y_range=[0, 1800])
p.image(image=[d],x=[0],y=[0],dw=[3600], dh=[1800], pallete="Spectral-256")
show(p)
两件事:
首先,传递给 p.image 的参数拼写为 "palette" 而不是 "pallete"。默认调色板是 Grey9,它会为您提供您拥有的颜色图。
其次(文档对此不太清楚),调色板参数接受一个包含颜色图的列表作为十六进制值。这可以是任意列表:
palette = ["#8c9494", "#8398a2", "#7c9baa"]
p.image(image=[d],x=[0],y=[0],dw=[360], dh=[180], palette=palette)
或 Bokeh 的标准调色板
from bokeh.palettes import Spectral6
p.image(image=[d],x=[0],y=[0],dw=[360], dh=[180], palette=Spectral6)
注:
print(Spectral6)
> ['#3288bd', '#99d594', '#e6f598', '#fee08b', '#fc8d59', '#d53e4f']
https://docs.bokeh.org/en/latest/docs/reference/palettes.html
我正在尝试从 hdf5 文件中绘制散景中的雷达数据。我已将数据存储到 1800*3600 的二维数组中。当我尝试使用 p.image
绘制数据时,它显示为黑色并带有一些斑点,我假设这些斑点是数据大于 0 的地方,但它不符合我指定的调色板。我不确定为什么会这样。
f = h5py.File(fname, 'r')
lat = f['Grid']['lat']
lon = f['Grid']['lon']
precip = f['Grid']['precipitationCal']
precip = np.transpose(precip)
d = np.empty((1800,3600))
for (x,y), value in np.ndenumerate(precip):
if value <= 0:
d[x,y]=np.nan
else:
d[x,y]=value
output_file("testimage.html", title="image.py example")
p = figure(x_range = [0, 3600], y_range=[0, 1800])
p.image(image=[d],x=[0],y=[0],dw=[3600], dh=[1800], pallete="Spectral-256")
show(p)
两件事:
首先,传递给 p.image 的参数拼写为 "palette" 而不是 "pallete"。默认调色板是 Grey9,它会为您提供您拥有的颜色图。
其次(文档对此不太清楚),调色板参数接受一个包含颜色图的列表作为十六进制值。这可以是任意列表:
palette = ["#8c9494", "#8398a2", "#7c9baa"]
p.image(image=[d],x=[0],y=[0],dw=[360], dh=[180], palette=palette)
或 Bokeh 的标准调色板
from bokeh.palettes import Spectral6
p.image(image=[d],x=[0],y=[0],dw=[360], dh=[180], palette=Spectral6)
注:
print(Spectral6)
> ['#3288bd', '#99d594', '#e6f598', '#fee08b', '#fc8d59', '#d53e4f']
https://docs.bokeh.org/en/latest/docs/reference/palettes.html