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

如何隐藏Plotly Surface图中的colorbar?已尝试多法仍未解决

隐藏Plotly Surface图的Colorbar

问题描述

无法找到隐藏Plotly Surface图中colorbar的方法,使用的代码如下:

import plotly.graph_objs as go
import numpy as np

x = np.linspace(0, 9, 10)
y = x
z = np.linspace(0, 99, 100).reshape((10, 10))

fig = go.Figure()
fig.add_trace(
    go.Surface(
        x=x,
        y=y,
        z=z
    )
)

fig.update_layout(
    scene=dict(
        xaxis_title='x',
        yaxis_title='y',
        zaxis_title='z'
    )
)

fig.show()

已尝试以下方法但无效:

  • fig.update_coloraxes(showscale=False)
  • fig.update_layout(coloraxis_showscale=False)
  • 在Surface中设置colorscale=None, colorbar=None, coloraxis=None

解决思路

Plotly Surface的colorbar是trace级别的配置,而非全局coloraxis设置,所以之前的方法不生效。正确的做法是直接控制trace的showscale参数:

方法1:添加trace时直接设置

在go.Surface中加入showscale=False:

import plotly.graph_objs as go
import numpy as np

x = np.linspace(0, 9, 10)
y = x
z = np.linspace(0, 99, 100).reshape((10, 10))

fig = go.Figure()
fig.add_trace(
    go.Surface(
        x=x,
        y=y,
        z=z,
        showscale=False  # 关键参数
    )
)

fig.update_layout(
    scene=dict(
        xaxis_title='x',
        yaxis_title='y',
        zaxis_title='z'
    )
)

fig.show()

方法2:更新已有trace

如果已经创建了fig,可以用update_traces批量修改所有Surface trace的showscale属性:

fig.update_traces(showscale=False)
fig.show()

补充说明

  • showscale参数专门控制是否显示当前trace对应的colorbar,针对Surface这类自带colorbar的trace直接生效。
  • 之前尝试的colorbar=None不会生效,因为colorbar是一个对象配置,需要设置colorbar.visible=False或者直接用showscale=False更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 12:42:04