You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Plotly后端的Holoviews热图如何设置colormap中点

解决方案

实现色阶中点设置的两种方法

方法1:使用Holoviews通用对称色阶参数

如果你的需求是让发散色阶以0为中点对称分布,直接开启symmetric=True参数即可,这是最简便的写法:

import holoviews as hv
hv.extension('plotly') # 声明使用Plotly后端

hv.HeatMap([(0,0,-10),(0,1,-9),(1,0,0),(1,1,2)]).opts(
    cmap="RdBu",
    symmetric=True
)

该参数会自动匹配你的数据极值,将色阶范围调整为以0为中点的对称区间,完全匹配发散色阶的使用场景。

方法2:透传Plotly原生参数自定义中点

如果需要自定义中点数值、不需要色阶范围完全对称,可以直接透传Plotly底层的cmid参数实现需求,所有Plotly原生支持的配置都可以通过plotly字典参数传入:

hv.HeatMap([(0,0,-10),(0,1,-9),(1,0,0),(1,1,2)]).opts(
    cmap="RdBu",
    plotly=dict(
        coloraxis=dict(
            cmid=0 # 直接指定色阶中点为0
        )
    )
)

相关疑问解答

  • Holoviews的Plotly后端没有调用px.imshow,它是直接基于Plotly的graph_objects.Heatmap接口实现绘图,因此不存在透传Plotly Express参数的逻辑。
  • 所有未在Holoviews官方文档中列出的后端原生参数,都可以通过上述plotly字典的方式透传生效,不需要依赖Holoviews自身的参数封装。

内容的提问来源于stack exchange,提问作者Gere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:36:00