如何在Python的Plotly图表中修改facet分类文本的颜色?
如何在Python的Plotly图表中修改facet分类文本的颜色?
嗨,这问题其实很简单,你已经在处理facet的标注文本了,只需要在现有代码基础上多加个颜色配置就行!
你原来的代码里已经用for_each_annotation来简化facet的文本显示了,现在只需要在update()方法中加入font参数,指定你想要的颜色就可以啦。比如想把文本改成红色,修改后的代码是这样的:
import plotly.express as px fig = px.scatter(px.data.tips(), x="total_bill", y="tip", facet_col="smoker") # 在update中添加font参数设置文本颜色 fig.for_each_annotation(lambda a: a.update(text=a.text.split("=")[-1], font=dict(color="red"))) fig.show()
这里的颜色可以是任意HTML支持的命名颜色(比如"blue"、"green"),也可以用十六进制颜色码(比如"#ff5733"这种自定义色),完全看你的需求。
如果想给不同的facet文本设置不一样的颜色也没问题,比如把"Yes"改成红色,"No"改成蓝色,只需要在lambda函数里加个判断就行:
import plotly.express as px fig = px.scatter(px.data.tips(), x="total_bill", y="tip", facet_col="smoker") fig.for_each_annotation(lambda a: a.update( text=a.text.split("=")[-1], font=dict(color="red" if a.text.split("=")[-1] == "Yes" else "blue") ) ) fig.show()
这样就能轻松实现你想要的效果啦!
备注:内容来源于stack exchange,提问作者ViSa
相关产品推荐
相关产品推荐

