Это мой текущий график.
И я хотел бы нарисовать линию, чтобы показать максимальное значение графика, а также значение по оси х. Который будет выглядеть так:
Я могу нарисовать линию вручную, построив ее, но я застрял в записи ее значения по оси x. Это лучшее, что я придумал:
Но дополнительный текст не на осях, как видно. Есть ли способ показать желаемый результат и сделать так, чтобы дополнительный текст выглядел более естественным на осях? Есть ли функция, которая делает это?
код:
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()
Вы можете найти данные здесь
Спасибо большое!