问题描述
当我将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()