Я хочу создать цифры, в которых метки x и y отображают свои числовые значения, правильно отформатированные для немецкого языка, т. Е. Используя запятую в качестве десятичного разделителя. Я также хочу использовать элементы LaTeX, например. в метке оси x или y или легенде графика. Следующий код показывает, что первая фигура создана по желанию для англоязычной версии.
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import locale
# Set to German locale to get comma decimal separater
locale.setlocale(locale.LC_NUMERIC, "deu_deu")
# Use LaTeX elements
matplotlib.rcParams['text.usetex'] = True
t = np.linspace(0.0, 1.0, 100)
s = t*np.cos(4 * np.pi * t) + 2
fig, ax = plt.subplots(figsize=(6, 4))
ax.plot(t, s)
ax.set_xlabel(r'Time $t$ with $t \le 1$')
ax.set_ylabel('Velocity $v(t)$')
plt.show()
fig.savefig("Mein_Test1.pdf")
fig2, ax2 = plt.subplots(figsize=(6, 4))
ax2.plot(t, s)
ax2.set_xlabel(r'Time $t$ with $t \le 1$')
ax2.set_ylabel('Velocity $v(t)$')
plt.ticklabel_format(useLocale=True)
plt.show()
fig2.savefig("Mein_Test2.pdf")
Если я не использую "matplotlib.rcParams['text.usetex'] = True", то у меня не может быть элементов LaTeX в метке, т. е. нет символа "\le", но тогда интервал правильный даже для немецких запятых. Таким образом, здесь, похоже, есть некоторый конфликт между немецкой локалью и «text.usetex». Любые идеи, чтобы получить оба права? Спасибо!