带有holoviews和“散景”的3d表面图

问题描述

当我将holoviews库与bokeh后端结合使用时,我也想创建3D表面图。在文档中,我仅找到了matplotlib和后端。 有人可以分享一个代码片段如何将holoviews / bokeh用于3D表面图吗?

谢谢

解决方法

Bokeh是一个2D绘图库,不支持3D绘图。可以将第三方3d JS绘图工具包装为Bokeh自定义扩展,但是AFAIK Holoviews尚未这样做。

,

使用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,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()