matplotlib + locale de_DE + LaTeX = space btw。小数分隔符和数字

时间:2018-06-02 13:17:56

标签: python-3.x matplotlib latex

如果我使用启用的LaTeX(const stdin = input ? "pipe" : "ignore"; const out = new StringStream(); const child = execspawn(cmd, Object.assign(options, { stdio: [stdin, "pipe", 2] })); child.on("error", e => out.emit("error", e)); if (input) { input.pipe(child.stdin); } return child.stdout.pipe(out); )运行以下代码,那么我会在小数逗号和第一个后续数字之间得到一个奇怪的间距。有谁知道如何解决这个问题?

usetex=True

另见附图:

谢谢!

1 个答案:

答案 0 :(得分:1)

使用LaTeX-Package icomma解决了这个问题!

import matplotlib.pyplot as plt
import locale

plt.style.use('classic')
locale.setlocale(locale.LC_NUMERIC, 'de_DE')
plt.rc('text', usetex=True)
font = {'family':'serif','size':14}
plt.rc('font',**font)

# Add the following two lines to the initial code:
params= {'text.latex.preamble' : [r'\usepackage{icomma}']}
plt.rcParams.update(params)


plt.rcParams['axes.formatter.use_locale'] = True

a=[.1,.2,.3,.4,.5]
b=[.1,.2,.3,.4,.5]

plt.plot(a,b)
plt.show()