Как установить одно и то же значение на оси x и назвать набор подзаголовков в matplotlib - PullRequest
0 голосов
/ 02 августа 2020

Я создал подзаголовок в matplotlib, и я хотел бы установить одно и то же значение оси x на всех подзаголовках, т.е. от 0 до 20. Также хочу переименовать каждый подзаголовок отдельно или добавить легенду, чтобы прояснить каждый подзаголовок для читатель.

`import matplotlib.pyplot as plt 
 import pandas as pd
 import numpy as np
 import itertools
 x =[1, 2, 3, 4, 5] 
 y =[2, 3, 3, 2, 3] 

 a =[1, 2, 3, 4, 5] 
 b =[2, 1, 0, 1, 0] 

 c =[1, 2, 3, 4, 5] 
 d =[2, 2, 4, 4, 1] 

 e =[1, 2, 3, 4, 5] 
 f =[2, 2, 8, 8, 2] 

 g =[1, 2, 3, 4, 5] 
 h =[2.5, 3, 4, 5, 5] 

 i =[1, 2, 3, 4, 5] 
 j =[4, 5, 5.5, 9, 0] 

 k =[1, 2, 3, 4, 5] 
 l =[10, 10, 10, 10, 10] 

 m =[1, 2, 3, 4, 5] 
 n =[15, 16, 17, 18, 16] 

 fig, axes = plt.subplots(4, 2) 

 axes[0, 0].plot(x, y, 'b--o') 
 axes[0, 1].plot(a, b, 'b--o') 
 axes[1, 0].plot(c, d, 'r--o') 
 axes[1, 1].plot(e, f, 'r--o') 
 axes[2, 0].plot(g, h, 'g--o') 
 axes[2, 1].plot(i, j, 'g--o') 
 axes[3, 0].plot(k, l, 'm--o')  
 axes[3, 1].plot(m, n, 'm--o') 

 fig.tight_layout() 

 plt.savefig('pq.png', dpi=300, bbox_inches='tight')

 plt.show()`

Результат: введите описание изображения здесь

1 Ответ

0 голосов
/ 03 августа 2020

Вы можете использовать matplotlib.pyplot.setp, чтобы установить одинаковые пределы x / y для всех осей:

plt.setp(axes, ylim=(0, 20))

Вы можете использовать параметр label, чтобы назвать ваши графики:

axes[0, 0].plot(x, y, 'b--o', label='x-y plot')

Вы можете использовать figure.legend (или axis.legend), чтобы нанести легенду на рисунок (или легенду на каждом подзаголовке):

# one legend on the figure
fig.legend()

Или:

# one legend on subplot[0, 0]
axes[0, 0].legend()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...