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

如何在Plotly的for循环中通过add_trace设置小提琴图图例名称?

解决Plotly Go小提琴图Trace名称自定义问题

你遇到的问题是因为没有正确在go.Violin对象中指定name参数。只需要在创建每个小提琴图Trace时,明确设置name属性即可替换默认的"trace 1"这类名称。

修正后的代码示例

from plotly.colors import n_colors
import plotly.graph_objects as go

# 准备与hist_data长度匹配的自定义名称列表
# 你可以根据实际需求替换成自己的名称
trace_names = [f"分组 {i+1}" for i in range(len(hist_data))]

# 注意:RGB值范围为0-255,原代码中的rgb(300,10,10)是无效值,已修正
colors = n_colors('rgb(2, 200, 200)', 'rgb(255, 10, 10)', len(hist_data), colortype='rgb')

fig = go.Figure()
for data_line, color, name in zip(hist_data, colors, trace_names):
    fig.add_trace(go.Violin(
        x=data_line,
        line_color=color,
        name=name  # 这里设置每个trace的自定义名称
    ))

fig.update_traces(orientation='h', side='positive', width=3, points=False)
fig.update_layout(xaxis_showgrid=False, xaxis_zeroline=True)

关键说明

  • 确保你有一个与hist_data长度一致的名称列表trace_names,每个元素对应一个Trace的名称。
  • 将name参数直接传入go.Violin的构造函数中,这样Plotly会自动使用该名称作为Trace的标识,在图例、悬浮提示中都会显示自定义名称。
  • 原代码中rgb(300,10,10)超出了RGB颜色值0-255的范围,已修正为rgb(255,10,10),避免渲染错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:55:02