gpt4 book ai didi

python - Bokeh 有等效的 matplotlib contourf 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 04:22:42 25 4
gpt4 key购买 nike

我需要在 Bokeh 中执行一些我在 matplotlib 中成功执行的操作。

我使用 matplotlib 绘制等高线图,并使用 contourf 函数在侧面绘制颜色条。我不使用 meshgrid 函数,因为我已经在 (78, 60001) 形状数组中分别拥有 X、Y 和 Z 数据。所以这是有效的:

array1[0].shape
(78, 60001)
array1[1].shape
(78, 60001)
array1[2].shape
(78, 60001)
CS = plt.contourf(array1[0], array1[1], array1[2], 25, cmap = plt.cm.jet)

结果如下:

3d-fft

如何在 Bokeh 中做同样的事情?互联网和手册上的大多数示例都使用 meshgrid。

===

更新 #1:例子: https://docs.bokeh.org/en/latest/docs/gallery/image.html

我试过上面的 Bokeh 代码如下:

p.image(array1[2], array1[0], array1[1], dw=10, dh=10, palette="Spectral11")

这给出了以下错误:

 RuntimeError: Columns need to be 1D (x is not)

===

更新#2:

p.image(array1[2].ravel(), array1[0].ravel(), array1[1].ravel(), dw=10, dh=None, palette="Spectral11")

上面的代码行创建了 HTML 文件,但没有显示绘图。

最佳答案

RuntimeError: Columns need to be 1D (x is not)

这样做的原因是您试图为图像的每个像素传递坐标,但这不是 Bokeh 所期望的。对于每个 2D 图像数据(RGBA 数组,或要在客户端中进行颜色映射的标量数据),Bokeh 只希望为每个 x、y、dw 和 dh 接收一个值。 x 和 y 坐标是图像左下角的坐标。 dw 和 dh 是图像在数据空间坐标中的宽度和高度。

可以将多个图像传递给对 image_rgbaimage 的单个调用。在这种情况下,x、y、dw 和 dh 对每个图像都有一个值。即,x 将是一维数字数组(每个图像一个)。

关于python - Bokeh 有等效的 matplotlib contourf 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54141676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com