Рассмотренноые ранее подписи осей и легенды графиков облагораживают графики, однако давайте пойдем еще немножко далее, чтобы привести их в красивый вид: рассмотрим стиль линий и маркеров.
При помощи них мы можем сделать графики еще более читаемыми и понимаемыми.
Вот код:
plt.subplot(211)
# зададим маркер для модели в виде маленького крестика
plt.plot( x,y, label='Model', marker='x')
# зададим маркер для реальных данных как и ранее кружочком
plt.plot( x,yr ,color = 'green', marker='o', label='Real')
plt.xlabel('X')
plt.ylabel('Y', color='red', fontsize=14)
plt.title('First Subplot', color='green', fontsize=14)
plt.legend().set_visible(True)
plt.subplot(212)
plt.plot( x,y2,label='Model', marker='x')
# оставим задание маркера и цвета в старом стиле
plt.plot( x,yr2 ,'bo', label='Real')
plt.xlabel('X')
plt.ylabel('Y2')
plt.title('Second Subplot')
plt.subplots_adjust(hspace=0.70)
plt.legend().set_visible(True)
Что мы увидим при исполнении данного кода ?
Как только мы задали маркер через параметр marker для реальных данных, так сразу у нас появилсь линия. В случае старого задания линии нет.
Для того, чтобы ее не было, надо в первом графике сделать замену вот такого:
plt.plot( x,yr ,color = 'green', marker='o', label='Real')
На вот такое:
plt.plot( x,yr ,color = 'green', marker='o', linestyle='None', label='Real')
Т.е. явно указать, что стиль линии - нет линии ( None ) и тогда мы вернемся к тому, что было
Стили маркеров можно посмотреть тут matplotlib.markers
А стили линий - тут Linestyles
Теперь сделаем для реальных данных разреженные пунктирные линии и для первого графика вместо кружочков - алмазы.
Вот код:
plt.subplot(211)
plt.plot( x,y, label='Model', marker='x')
plt.plot( x,yr ,color = 'green', marker='D', linestyle='dashed', label='Real')
plt.xlabel('X')
plt.ylabel('Y', color='red', fontsize=14)
plt.title('First Subplot', color='green', fontsize=14)
plt.legend().set_visible(True)
plt.subplot(212)
plt.plot( x,y2,label='Model', marker='x')
plt.plot( x,yr2 ,color = 'green', marker='o', linestyle='dashed', label='Real')
plt.xlabel('X')
plt.ylabel('Y2')
plt.title('Second Subplot')
plt.subplots_adjust(hspace=0.70)
plt.legend().set_visible(True)
И вот что получилось
Теперь разделение маркерами и стилями линий позволяет нам отличить модельные данные от реальных данных
No comments:
Post a Comment