Нарисуйте 2 строки текста с 1 вызовом plt.text - PullRequest
0 голосов
/ 03 мая 2020

Я добавляю некоторую информацию в Python график (с import matplotlib.pyplot as plt), используя этот код:

plt.text(0.0, 20000.0, r'$[R^2 = %s]$'% (round(R2,4)), fontsize=16)
plt.text(0.0, 22500.0, r'$[y = %s x]$'% (round(slope[0][0],4)), fontsize=16)

Значения, вставленные в график, R2 и slope[0][0] были ранее рассчитано.

Это прекрасно работает, но чтобы вставить 2 значения R2 и slope в разных местах, мне нужно 2 вызова plt.text.

Интересно можно ли будет использовать всего 1 звонок? Я думаю, мне нужно было бы добавить \n где-нибудь, чтобы выровнять 2 текста один под другим, но я не понимаю правильный синтаксис для использования.

Есть идеи?

1 Ответ

0 голосов
/ 03 мая 2020

Вы можете использовать plt.text и \n, как вы уже догадались. Просто будьте осторожны с префиксом r, который рассматривает \n как необработанный \ и n, а не символ перехода на новую строку. Обходной путь - поместить LaTeX и символ новой строки в отдельные строки, разделенные пробелом (который Python автоматически объединяет):

plt.plot([0,1], [0,1])
plt.text(0.2, 0.6, 'Line 1\nLine 2')
plt.text(0.6, 0.2, r'$L_1$' '\n' '$L_2$')

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...