在饼图matplotlib中用逗号更改点

Change dot by comma in pie chart matplotlib

我正在尝试使用以下代码制作饼图:

import plotly.graph_objects as go
import matplotlib.pyplot as plt

import matplotlib.ticker as mtick
import locale
locale.setlocale(locale.LC_NUMERIC, "de_DE")
plt.rcParams['axes.formatter.use_locale'] = True

labs =  np.array(['Desiguais', 'Dinâmicos', 'Equitativos', 'Em Transição', 'Vulneráveis'])
d_pop = np.array([43.64, 33.96, 9.84, 8, 4.55])
cols =["#C03A51FF", "#E65D2FFF", "#FA9008FF", "#F9CB35FF", "#FCFFA4FF"]
explode = np.ones(len(cols))/20

fig1, ax1 = plt.subplots(figsize=(10,8))
ax1.pie(d_pop, explode=explode, labels=labs, colors=cols, autopct='%1.1f%%',
        shadow=True, startangle=90, pctdistance=0.85,  textprops={'fontsize': 14});

我得到了以下饼图:

但我需要用逗号替换标签中的点,例如:4.6% 替换为 4,6%。

感谢任何帮助。

与其考虑语言环境,一种选择是将 . 替换为 ,

_,_,autotexts = ax1.pie(d_pop, ...)

for autotext in autotexts:
    autotext.set_text(autotext.get_text().replace('.', ','))

问题是 autopct 关键字参数中的格式字符串没有考虑语言环境。一种选择是将其替换为可调用函数,例如 lambda 函数:

autopct=lambda x: locale.format_string('%1.1f%%', x)

其中给出了所需的标签: