Python 使用matplotlib将某些文本显示为粗体

Python 使用matplotlib将某些文本显示为粗体,python,matplotlib,text,Python,Matplotlib,Text,今天我正在处理一个图表,其中一部分有使用plt.text的注释。在这个注释中,我想沿着 “本月的价格为:3美元” 不加粗体,它可以翻译成如下代码: plt.text(0.5,0.9, f"The price for this month is: USD${df.price.iloc[-1]}") 因此,我想做的是在打印到图形中时将USD${df.price.iloc[-1]}转换为粗体 在SO中有一个类似的问题,但对于标题,建议使用如下符号: "The price for this month

今天我正在处理一个图表,其中一部分有使用
plt.text
的注释。在这个注释中,我想沿着 “本月的价格为:3美元

不加粗体,它可以翻译成如下代码:

plt.text(0.5,0.9, f"The price for this month is: USD${df.price.iloc[-1]}")
因此,我想做的是在打印到图形中时将
USD${df.price.iloc[-1]}
转换为粗体

在SO中有一个类似的问题,但对于标题,建议使用如下符号:

"The price for this month is:' + r"$\bf{" + USD${df.price.iloc[-1]} + "}$"
但这种语法似乎是无效的,所以我不确定是否可能有一个包含粗体和非粗体部分的文本


你知道这是否可以做到,如果可以,如何做到吗?

这是一种方法。您只需将数据帧值转换为字符串


完整答案

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'price': [2, 4, 8, 3]}, index=['A', 'B', 'C', 'D'])

fig = plt.figure()

plt.text(0.1,0.9, r"The price for this month is: "+ r"$\bf{USD\$" + str(df.price.iloc[-1])  + "}$")
plt.show()

甚至简洁:

plt.text(0.1,0.9, r"The price for this month is: $\bf{USD\$ %s}$" % str(df.price.iloc[-1]) )
您也可以将格式设置为

fig = plt.figure()

plt.text(0.1,0.9, r"The price for this month is: " + r"$\bf{USD\$" + '{:.2f}'.format(df.price.iloc[-1]) + "}$")

这是一种方法。您只需将数据帧值转换为字符串


完整答案

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'price': [2, 4, 8, 3]}, index=['A', 'B', 'C', 'D'])

fig = plt.figure()

plt.text(0.1,0.9, r"The price for this month is: "+ r"$\bf{USD\$" + str(df.price.iloc[-1])  + "}$")
plt.show()

甚至简洁:

plt.text(0.1,0.9, r"The price for this month is: $\bf{USD\$ %s}$" % str(df.price.iloc[-1]) )
您也可以将格式设置为

fig = plt.figure()

plt.text(0.1,0.9, r"The price for this month is: " + r"$\bf{USD\$" + '{:.2f}'.format(df.price.iloc[-1]) + "}$")

谢谢@Bazingaa!它工作得很好。我还有一个问题:这个语法支持格式化吗?我还必须对浮点数和百分比执行此操作,因此我想知道是否必须通过
np.round()
手动格式化,然后乘以100并添加“%”?@JuanC:检查我编辑的答案再次感谢!为了确保我理解正确,
r“$..$”
符号让您使用html编码来格式化图形的文本,对吗?
r“$$“
启用乳胶rendering@JuanC:在Thank@Bazingaa阅读!它工作得很好。我还有一个问题:这个语法支持格式化吗?我还必须对浮点数和百分比执行此操作,因此我想知道是否必须通过
np.round()
手动格式化,然后乘以100并添加“%”?@JuanC:检查我编辑的答案再次感谢!为了确保我理解正确,
r“$…$”
符号让您使用html编码来正确格式化图形的文本?
r“$…$”
rendering@JuanC例如阅读