показ значений оси X в определенной точке с использованием matplotlin в python - PullRequest
0 голосов
/ 21 мая 2018

Я строю два графика в одном графике, используя следующий код.А также я хочу видеть значения оси X в некоторой точке на графике.Потому что я строю два графика на одном графике, поэтому я два значения для одной точки.Я хочу видеть оба значения ясно.Но когда значения ближе, они сталкиваются друг с другом, и значения не видны четко.

import matplotlib.pyplot as plt
plt.rcParams.update(plt.rcParamsDefault)
plt.style.use(['default'])
a=[1.23,2.24,3.12,1.11,2.46]
b=[1.24,2.23,3.15,1.25,2.78]
xc=range(5)
plt.figure(figsize=(5,5))
for x,y in zip(xc,a):
    plt.text(x, y, '%.2f' % y, ha='center', va= 'bottom')
for x,y in zip(xc,b):
    plt.text(x, y, '%.2f' % y, ha='center', va= 'bottom')
plt.plot(xc,a)
plt.plot(xc,b)
plt.xlabel('num of Epochs')
plt.ylabel('loss')
plt.title('train_loss vs val_loss')
plt.legend(['train','val'])

Пожалуйста, помогите мне написать код для лучшей визуализации графика

1 Ответ

0 голосов
/ 21 мая 2018

Изменение настроек plt.text().

import matplotlib.pyplot as plt
plt.rcParams.update(plt.rcParamsDefault)
plt.style.use(['default'])
a=[1.23,2.24,3.12,1.11,2.46]
b=[1.24,2.23,3.15,1.25,2.78]
xc=range(5)
plt.figure(figsize=(5,5))
for x,y in zip(xc,a):
    plt.text(x, y, '%.2f' % y, ha='right', va= 'bottom')
for x,y in zip(xc,b):
    plt.text(x, y, '%.2f' % y, ha='left', va= 'top')
plt.plot(xc,a)
plt.plot(xc,b)
plt.xlabel('num of Epochs')
plt.ylabel('loss')
plt.title('train_loss vs val_loss')
plt.legend(['train','val'])
plt.show()

Вывод:

enter image description here

Вы можете назначать цвета с помощью colorатрибут:

for x,y in zip(xc,a):
    plt.text(x, y, '%.2f' % y, ha='right', va= 'bottom', color='blue')
for x,y in zip(xc,b):
    plt.text(x, y, '%.2f' % y, ha='left', va= 'top', color='orange')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...