如何在Plotly中为刻度文本不同行设置不同字号与颜色?
实现Plotly刻度文本多行不同字体样式
要给刻度文本的两行分别设置不同字体样式,直接在ticktext里用HTML标签定义样式即可,Plotly支持解析这类HTML格式。修改后的代码如下:
import plotly.express as px import numpy as np df = px.data.gapminder().query("country=='Canada'") fig = px.line(df, x="year", y="lifeExp", title='Life expectancy in Canada') fig.update_layout( yaxis=dict( title="", showgrid=True, ticktext=[ "<span style='font-size:15px; color:green;'><b>Tick 1</b></span><br><span style='font-size:13px; color:red;'>description 1</span>", "<span style='font-size:15px; color:green;'><b>Tick 2</b></span><br><span style='font-size:13px; color:red;'>description 2</span>", "<span style='font-size:15px; color:green;'><b>Tick 3</b></span><br><span style='font-size:13px; color:red;'>description 3</span>" ], tickvals=np.arange(72,78,2) # 移除全局tickfont设置,HTML样式会覆盖它 ) ) fig.show()
关键说明:
- 用
<span>标签分别包裹每行文本,通过style属性指定字体大小(font-size)和颜色(color) - 保留
<br>标签实现两行文本的换行 - 无需保留原
tickfont配置,HTML内联样式会优先生效
内容的提问来源于stack exchange,提问作者Lolivano
相关产品推荐
相关产品推荐

