2015-11-14 1 views
0

Мне нужно разделить фигуру matplotlib. Я использую это, и он работает, но визуализация не хороша для того, чтобы иметь 260 баров бок о бок на одном и том же участке. Я пытался найти способ разделить всю фигуру на два сюжета. Первые 130 баров на одной фигуре, а остальные на другой фигуре на той же странице. До сих пор я не имел успеха. Могу ли я помочь, пожалуйста?Слишком много столбцов для одной фигуры с использованием matplotlib

fig = plt.figure() 
ax = fig.add_subplot(1,1,1) 
df1.iloc[:][1800].plot(kind='bar') 
ax.set_xticklabels(df1.iloc[:]['gdp pc test'], rotation=85,  fontsize='small') 
fig.set_size_inches(200, 30, forward=True) 
+1

Обеспечение минимального рабочий пример может помочь здесь. Что такое 'df1', который предоставляет какую-то функцию построения графика? Обычно разделение данных не должно быть слишком сложным, например, 'df1.iloc [: 130] [1800] .plot()', 'df1.iloc [130:] [1800] .plot()'? – Bart

+0

df1 - это имя моего фрейма данных. Я пробовал этот подход, но это не сработало. 1800 - это название моей колонки. –

ответ

1

Я не понимаю, почему мое предложение опубликовано как комментарий выше, не будет работать. Например (с немного меньшим количеством данных):

import numpy as np 
import pandas as pd 
import pylab as pl 

data = np.random.random((60,1)) 
df1 = pd.DataFrame(data) 

pl.figure() 
pl.subplot(211) 
df1.iloc[:30][0].plot(kind='bar') 
pl.subplot(212) 
df1.iloc[30:][0].plot(kind='bar') 

Производит это:

enter image description here

+0

Спасибо, Барт. Наверное, потому, что я не использовал подзаголовок при написании каждой половины. Я попробую, как вы только что показали мне. –

+0

Это работало Барт. Большое спасибо. Однако у меня возникли проблемы с добавлением меток с вашим подходом. Не могли бы вы дать мне подсказку о том, как добавить это в оба подзаголовка? ax.set_xticklabels (df1.iloc [:] ['gdp pc test'], rotation = 85, fontsize = 'small') –

+1

Эй, Барт, я это понял. Большое спасибо за помощь и терпение! –

Смежные вопросы