【问题标题】:3d surface plot with holoviews and "bokeh"具有全息视图和“散景”的 3d 曲面图
【发布时间】:2020-09-10 20:36:05
【问题描述】:

当我将 holoviews 库与散景后端结合使用时,我也想创建一个 3D 曲面图。在文档中,我只找到了 matplotlib 和 plotly 后端。 有人可以分享代码 sn-p 如何使用 holoviews/bokeh 绘制 3D 曲面图吗?

谢谢

【问题讨论】:

  • Bokeh 没有直接的 3D,正如@bigreddot 所指出的那样,但是对于 3D 曲面图,您可以使用 HoloViews+matplotlib 或 HoloViews+Plotly,或者直接使用 Plotly,如下所示。如果您通常将 HoloViews 与 Bokeh 后端一起使用,您可以使用 Panel 将上述类型的绘图的任意组合布局到单个布局中,以便您可以混合和匹配各种库支持的任何内容来制作您的整体图。

标签: python 3d bokeh surface holoviews


【解决方案1】:

Bokeh 是一个 2d 绘图库,没有对 3d 绘图的内置支持。可以将第三方 3d JS 绘图工具包装为 Bokeh 自定义扩展,但 AFAIK Holoviews 并没有这样做。

【讨论】:

  • 感谢您的快速回复和澄清 - 我想我会尝试一下。
【解决方案2】:

使用 plotly 解决了这个问题。当我在 spyder 工作时,必须使用 graph_objects 来呈现 html 输出

import model as md
import numpy as np

import plotly.graph_objects as go
import plotly.io as pio
#pio.renderers.default = 'svg'
pio.renderers.default = 'browser'

TaRng  = np.arange(0,15,0.2)       # 75 values
TwSRng = np.arange(12,15,0.2)      # 15 values
mode   = 0.2
Tw     = [md.Tw(ta,tws,mode) for ta in TaRng for tws in TwSRng]  
Tw     = np.array(Tw).reshape(75,15)

fig = go.Figure(data=[go.Surface(z=Tw)])

fig.update_layout(title='free cooling', autosize=False,
              width=500, height=500,
              margin=dict(l=65, r=50, b=65, t=90))

fig.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2013-02-20
    • 1970-01-01
    相关资源
    最近更新 更多