Отображение максимального значения линейного графика в matplotlib - PullRequest
0 голосов
/ 27 мая 2019

Это мой текущий график.
enter image description here
И я хотел бы нарисовать линию, чтобы показать максимальное значение графика, а также значение по оси х. Который будет выглядеть так:
enter image description here

Я могу нарисовать линию вручную, построив ее, но я застрял в записи ее значения по оси x. Это лучшее, что я придумал:

enter image description here

Но дополнительный текст не на осях, как видно. Есть ли способ показать желаемый результат и сделать так, чтобы дополнительный текст выглядел более естественным на осях? Есть ли функция, которая делает это?

код:

max_y = max(y)
max_x = []
for i in list(new_dict.keys()):
    if new_dict[i] == max_y:
        max_x.append(i)

plt.plot(x, y)
plt.plot([np.mean(max_x), np.mean(max_x)], [0, max_y], 'r--',label='Highest Probability')
plt.plot([min(x), np.mean(max_x)],[max_y,max_y],'r--')
plt.text(np.mean(max_x),0,str(np.mean(max_x)),fontsize='x-large')
plt.text(min(x),np.mean(max_y),str(np.mean(max_y)),fontsize='x-large')
plt.legend(loc='best')
plt.show()

Вы можете найти данные здесь

Спасибо большое!

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