更改 AnchoredText 对象中的文本颜色

问题描述 投票:0回答:1

有什么方法可以改变AnchoredText文本颜色吗?我尝试了

at.set_color()
at.patch.set_color()
,还尝试通过 at.prop["color"] 参数更改
prop
,但这导致了 TypeError: 'FontProperties' 对象不支持项目分配

at = AnchoredText(f"RMS noise = {self.rms_value*100:.3f}%",
                  prop=dict(size=8, color="white"),frameon=True, loc='upper right')

at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
self.abs_chart.axes.add_artist(at)

我不想重新创建元素(如果有更简洁的方法)。它应该通过单击按钮来更改黑暗和光明之间的主题(这部分我已经工作得很好)。我正在使用 Matplotlib 3.8.2。

python-3.x matplotlib
1个回答
0
投票

Text
AnchoredText
对象是其
txt
属性的第一个(也是唯一)子对象:

import matplotlib.pyplot as plt
from matplotlib.offsetbox import AnchoredText

fig, ax = plt.subplots()
at = AnchoredText("Text", loc="center")
at.txt.get_children()[0].set_color("red")
ax.add_artist(at)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.