Получить несколько вспомогательных участков в matplotlib из таблицы данных (col_x и col_y) на основе информации col_z - PullRequest
0 голосов
/ 03 апреля 2019

В моей таблице 4 столбца, включая die_id, данные, время и интервал. Я хочу создать подзаговоры на основе len (die_id) для nrows и len (интервал) для cols.

Я попробовал следующий код, но он не работает, потому что оси это numpy.ndarray. Как разгадать индекс и заставить его работать? Пожалуйста, порекомендуйте. Спасибо.


nrows = len(df['die_id'].unique())
ncols = len(df['interval'].unique())

fig, axes = plt.subplots(nrows=nrows, ncols=ncols, figsize=(20,15))

for subplot_number, (die_id, data) in enumerate(df.groupby(['die_id','interval'])):
    axes[subplot_number].plot(data['time_inspect'], data['mean_vc'])
    axes[subplot_number].set_title('DieID: {}'.format(die_id))
    axes[subplot_number].set_ylabel('mean_vc (V)')
    axes[subplot_number].set_xlabel('time_inspect')

plt.tight_layout()
plt.show()

1 Ответ

0 голосов
/ 03 апреля 2019

Вам необходимо получить доступ к вспомогательным участкам, используя индексы строк и столбцов:

nrows = len(df['die_id'].unique())
ncols = len(df['interval'].unique())

fig, axes = plt.subplots(nrows=nrows, ncols=ncols, figsize=(20,15))

for subplot_number, (die_id, data) in enumerate(df.groupby(['die_id','interval'])):
    row = subplot_number // nrows
    col = subplot_number % nrows
    axes[row][col].plot(data['time_inspect'], data['mean_vc'])
    axes[row][col].set_title('DieID: {}'.format(die_id))
    axes[row][col].set_ylabel('mean_vc (V)')
    axes[row][col].set_xlabel('time_inspect')

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