Я хочу построить некоторые данные из CSV-файла, используя dataframe.
Мой код в настоящее время отображает 266 = 14 * 19 отдельных участков. В настоящее время он закодирован для отображения всех 266 вспомогательных сюжетов на одном экране, и каждый из них является маленьким и трудным для чтения.
Я пытался использовать сюжет 1x1
#fig, cx=plt.subplots(1,1, sharex=False, sharey=False, figsize=(18,12))
Основной код:
fig, cx=plt.subplots(14,19, sharex=False, sharey=False, figsize=(18,12))
#fig, cx=plt.subplots(1,1, sharex=False, sharey=False, figsize=(18,12))
plt.subplots_adjust(hspace=0.5)
cx = cx.ravel()
for i in range(0,len(Bond)):
cx[i].plot(VelLog[Bond[i]], color='b')
cx[i].set_xlabel('Time (ms)')
cx[i].set_ylabel('Velocity (m/s)')
cx[i].set_ylim(-250,150)
cx[i].set_title(Bond[i])
plt.savefig('Velocity.png', dpi=120)
plt.show()
##################################
Error message when I un-comment Line 1
cx[i].plot(VelLog[Bond[i]], color='b')
IndexError: index 209 is out of bounds for axis 0 with size 209
Как я могу отображать на экране только несколько вспомогательных сюжетов одновременно, чтобы повысить удобочитаемость?
Как 5x5 + 5x5 + 5x5 + 5x5 + 5x5, + 5x5 + 5x5 + 5x5 + 5x5 + 5x5 + 4x4 = 266
11 разных экранов.
Есть ли способ добавить фильтр диаграммы в качестве альтернативы?
Вот мой обновленный код с вашими предложениями. Теперь он создает 11 фигур. Мне удалось построить все 266 графиков, но каждый график выглядит одинаково
Nrows, Ncols = 14, 19
Nplots = Nrows*Ncols
nrows, ncols = 5, 5
naxes = nrows*ncols
nfigures = Nplots//naxes
count = 0
figures = []
for fignum in range(nfigures+1):
fig, axes = plt.subplots(nrows, ncols, sharex=False, sharey=False, figsize=(18,12))
plt.subplots_adjust(hspace=0.5)
#axes = axes.ravel()
figures.append(fig)
axes = axes.flat
for ax in axes:
#print(count)
if count<Nplots:
for i in range(0,len(Bond)):
cvs_row, cvs_col = divmod(count, Ncols)
cvs_row, cvs_col = cvs_row+1, cvs_col+1
ax.plot(VelLog[Bond[i]], color='b', label='%d,%d'%(cvs_row, cvs_col))
ax.set_xlabel('Time (ms)')
ax.set_ylabel('Velocity (m/s)')
ax.set_ylim(-250,150)
ax.set_title(Bond[i])
count = count+1
plt.savefig('Velocity.png', dpi=120)
plt.show()
Вот результат для одной фигуры
введите описание изображения здесь