如何解决Plotly Violin图无需悬停显示数据标签的报错问题
报错原因
- 变量名拼写错误:代码中定义的画布变量为
fig6,调用update_traces方法时误用了不存在的变量fig - 参数适配错误:
mode是散点类轨迹(go.Scatter)的专属配置参数,小提琴轨迹及内置的箱线组件均不支持该参数,强行赋值会触发属性无效报错
解决方案
要实现小提琴图无需悬停即可展示数据标签的需求,可通过额外叠加一层散点轨迹承载文本标签实现,完整可运行代码如下:
import numpy as np import plotly.graph_objects as go data = np.random.randn(30) fig6 = go.Figure() # 添加小提琴基础轨迹 fig6.add_trace(go.Violin( y=data, box_visible=True, line_color='black', meanline_visible=True, fillcolor='lightseagreen', opacity=0.6 )) # 叠加散点轨迹展示固定数据标签 fig6.add_trace(go.Scatter( x=[0] * len(data), y=data, mode="markers+text", text=[f"{val:.2f}" for val in data], textposition="top right", marker=dict(color="#222", size=5), showlegend=False )) fig6.update_layout(yaxis_zeroline=False) fig6.show()
代码运行后每个数据点旁会直接显示对应的数值标签,不需要鼠标悬停即可查看。
内容的提问来源于stack exchange,提问作者Wesley Young
相关产品推荐
相关产品推荐

