如何修改Plotly Python直方图的Y轴悬停标题?
解决Plotly Python直方图Y轴标题与悬停标题同步修改的问题
当使用fig.update_layout(yaxis_title="New y-axis title")修改Plotly直方图的Y轴标题时,悬停提示中的Y轴名称不会同步更新;而labels参数仅对X轴的标题和悬停文本生效,无法修改计数型Y轴的相关文本。
可复现代码
import plotly.express as px df = px.data.tips() fig = px.histogram(df, x="total_bill", labels={"total_bill": "Total bill"}) fig.update_layout(yaxis_title="New y-axis title") fig.show()
解决方案
方法1:修改数据系列名称
Plotly直方图的悬停文本默认使用对应数据系列的名称,直接修改trace的name属性即可同步更新悬停文本:
import plotly.express as px df = px.data.tips() fig = px.histogram(df, x="total_bill", labels={"total_bill": "Total bill"}) fig.update_layout(yaxis_title="New y-axis title") # 修改第一个trace的名称,与Y轴标题保持一致 fig.data[0].name = "New y-axis title" fig.show()
方法2:自定义悬停模板
通过hovertemplate可以完全自定义悬停提示的内容和格式,精准控制显示文本:
import plotly.express as px df = px.data.tips() fig = px.histogram(df, x="total_bill", labels={"total_bill": "Total bill"}) fig.update_layout(yaxis_title="New y-axis title") # 自定义悬停模板,%{x}对应X轴数值,%{y}对应Y轴数值,<extra>标签用于隐藏默认系列名 fig.data[0].hovertemplate = "Total bill: %{x}<br>New y-axis title: %{y}<extra></extra>" fig.show()
- 方法1操作简单,适合仅需同步名称的场景;
- 方法2灵活性更高,支持定制悬停提示的排版和内容。
内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

