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

时间:2019-03-20 17:53:44

标签: python matplotlib text

今天,我正在处理图形,其中的一部分使用-inetrc进行了注释。在这个注释中,我想写一些类似的内容 “本月的价格为: 3美元

其中没有粗体的代码将转换为如下代码:

plt.text

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

SO中也有类似的问题,但对于标题,建议使用类似这样的符号:

USD${df.price.iloc[-1]}

但是语法似乎无效,所以我不确定是否有可能包含带有粗体和非粗体部分的文本。

您知道是否可以完成,如果可以,如何可以完成?

1 个答案:

答案 0 :(得分:2)

这是一种实现方式。您只需要将DataFrame值转换为字符串


完整答案

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()

enter image description here

简明扼要:

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]) + "}$")

enter image description here