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

如何修改Matplotlib中AnchoredText对象的文本颜色?

修改Matplotlib AnchoredText文本颜色的方法

不用重新创建AnchoredText元素,直接操作它内部的文本对象就能改颜色:

核心代码

# 修改为目标颜色,比如切换到暗色主题时设为白色,亮色设为黑色
at.text.set_color("white")

为什么之前的方法不行

  • at.set_color():AnchoredText类没有这个方法,调用会报错
  • at.patch.set_color():这个是修改文本框的背景/边框颜色,不是文本本身的颜色
  • at.prop["color"]:at.prop返回的是FontProperties对象,它不支持字典式赋值,所以会触发TypeError

配合主题切换的示例

假设你有一个按钮触发主题切换,回调函数可以这么写:

def on_theme_toggle(self):
    # 切换主题状态
    self.dark_mode = not self.dark_mode
    target_color = "white" if self.dark_mode else "black"
    # 修改AnchoredText文本颜色
    self.at.text.set_color(target_color)
    # 这里可以添加其他主题切换的逻辑(比如坐标轴、背景色等)
    # 刷新图表
    self.abs_chart.figure.canvas.draw_idle()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 17:47:33