Я пытаюсь взять Pandas фрейм данных с 57 столбцами и нанести их на гистограмму с 3 столбцами на фигуру. Причина заключается в том, что изменение данных и длины столбцов затрудняет просмотр данных на многих графиках. Построение нескольких столбцов на подплоте не вариант, поэтому каждый график должен быть виден в выходном размере. Учитывая данные, которые я нашел, 3 участка на фигуру выглядят лучше всего. Вот мой сценарий для построения кадра данных:
fig, ax = plt.subplots(nrows=len(df.columns), ncols=1, sharex=True, sharey=True)
yscale = np.ceil(df.abs().select_dtypes(include=[np.number]).values.max())
plt.yscale('symlog')
plt.ylim(-yscale, yscale)
t = list(df.columns.values)
n = 0
for i in df:
df['positive'] = df[i] > 0
df[i].plot.bar(ax=ax[n], rot=0, width=1.0, legend=False, position=0, color=df.positive.map({True: 'g', False: 'r'}))
ax[n].set_title(t[n])
ax[n].axhline(y=0, linewidth=1, color='k')
ax[n].tick_params(which='major', axis='x', length=2)
ax[n].tick_params(which='major', axis='y', length=6)
n += 1
plt.tight_layout()
plt.show()
Было бы проще всего разбить кадр данных на несколько меньших кадров данных? Единственное, что меня беспокоит, так это то, что на каждом кадре данных будет разное количество столбцов с разными выборками.