格式化德语的刻度标签,即,点作为千位分隔符,逗号作为十进制分隔符

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

我希望我的刻度标签按照德国风格进行格式化,以逗号作为小数点分隔符,以句点/点作为千位分隔符。以下代码适用于x轴上的小数点分隔符,但不适用于y轴。


import numpy as np
import matplotlib.pyplot as plt
import locale
# Set to German locale to get comma decimal separater
locale.setlocale(locale.LC_NUMERIC, "deu_deu")
plt.ticklabel_format(useLocale=True)

# evenly sampled time at 200ms intervals
t = np.arange(0., 2., 0.2)


# red dashes, blue squares and green triangles
plt.plot(t, 1000000*t, 'r--', t, 1000000*t**2, 'bs', t, 1000000*t**3, 'g^')
plt.show()

Result of the above program via the reference below

使用上面的代码,y轴刻度标签如下所示:1000000、2000000、3000000 ...

但是,我想看起来像这样的y轴标签:1.000.000(一百万),2.000.000(两百万),等等。>>

我希望我的刻度标签按照德国风格进行格式化,以逗号作为小数点分隔符,以句点/点作为千位分隔符。以下代码适用于小数点...

python matplotlib label comma separator
1个回答
1
投票

您没有得到预期的结果,因为默认情况下matplotlib不包含数千个分隔符。通常,如果要用逗号分隔成千上万,则必须手动进行,小数点也是如此。下面是一种实现方法,可修改代码并使用lambda函数。

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