Matplotlib: как печатать текст в углу бумаги / холста (не угол сюжета) [dублировать]

Я рисую два временных ряда и вычисляет для них индексы.

Как записать эти индексы для этих графиков вне графика с использованием annotation или text в python?

Ниже мой код

import matplotlib.pyplot as plt

obs_graph=plt.plot(obs_df['cms'], '-r', label='Observed')
plt.legend(loc='best')
plt.hold(True)
sim_graph=plt.plot(sim_df['cms'], '-g', label="Simulated")
plt.legend(loc='best')
plt.ylabel('Daily Discharge (m^3/s)')
plt.xlabel('Year')
plt.title('Observed vs Simulated Daily Discharge')
textstr = 'NSE=%.2f\nRMSE=%.2f\n'%(NSE, RMSE)
# print textstr
plt.text(2000, 2000, textstr, fontsize=14)
plt.grid(True)
plt.show()

Я хочу напечатать teststr вне графиков. Вот текущий график:

11
задан 14 July 2018 в 00:09

1 ответ

Похоже, что текст есть, но он лежит за пределами границы рисунка. Используйте subplots_adjust(), чтобы освободить место для текста:

import matplotlib.pyplot as plt

textstr = 'NSE=%.2f\nRMSE=%.2f\n'%(1, 2)
plt.xlim(2002, 2008)
plt.ylim(0, 4500)
# print textstr
plt.text(2000, 2000, textstr, fontsize=14)
plt.grid(True)
plt.subplots_adjust(left=0.25)
plt.show()

subplots_adjust()

0
ответ дан 15 August 2018 в 15:30
  • 1
    Я не мог видеть текст даже после использования «subplots_adjust ()». Нужно ли определять xlim и ylim? – dSb 24 February 2017 в 14:21
  • 2
    Нет, я использовал их для получения того же диапазона оси без ваших данных. Вы видите текст, если вы используете мой пример? Возможно, разные версии Matplotlib? Я использую версию 1.5.2 (на Python 3, но это должно быть неактуально). Вы также можете играть с разными значениями left, right, top и bottom - возможно, текст находится где-то в другом месте. – kazemakase 24 February 2017 в 14:28
  • 3
    Я пробовал верх, левый, нижний и правый, но не смог найти текст. Я использую Python 2.7.11 и matplotlib версии 1.5.1. Да, я вижу текст в вашем примере. Я загрузил свой файл в редакторе, вы можете арендовать его с помощью моего кода. – dSb 24 February 2017 в 14:58
  • 4
    К сожалению, у меня нет доступа к Python до выходных. Я предлагаю вам начать с рабочего примера и добавить свой материал по частям, пока он не перестанет работать. Затем исправьте эту часть :) – kazemakase 24 February 2017 в 20:27
  • 5
    Приятно слышать! Вы могли бы поделиться своим решением в качестве другого ответа, чтобы помочь другим, которые сталкиваются с той же проблемой в будущем. – kazemakase 27 February 2017 в 10:59

Другие вопросы по тегам:

Похожие вопросы: