2016-04-08 31 views
0

En iyi gayretime rağmen tatmin edici bir cevap bulabildim ve bu yüzden sorunumu nasıl çözeceğimi soruyorum. Kayıp ve zaten cevap yazmış olsam lütfen zor olmayın.İki pankartı yan yana çizme

Yığın, biri yığılmış ve diğeri değil, grafik olarak iki değer kümesini karşılaştırmak istiyorum. İşte

benim kod şimdiye kadar

seqdf = pd.read_csv("%s/%s" % (folder, seqfile), header=None, sep=" ") 
pardf = pd.read_csv("%s/%s" % (folder, parfile), header=None, sep=" ") 

seqdf2 = pd.DataFrame(seqdf.mean().values, columns=['sequencial']).T 
pardf2 = pd.DataFrame(pardf.mean().values, columns=['parallel']).T 

plt.figure(1) 
colors = plt.cm.GnBu(np.linspace(.3, 1, 16)) 

plt.subplot(1,2,1) 
seqdf2.plot.bar(color=colors, ax=plt.gca(), align='center', stacked=True) 

plt.subplot(1,2,2) 
pardf2.plot.bar(color=colors, ax=plt.gca()) 

plt.show() 

olduğunu ve bana verir: Ben le ilki (sıralı) ile, aynı grafikte iki veri grubunu almak istiyorum Ancak enter image description here

olmak ikincisinin çubuklarından biri kadar geniş.

Bunu nasıl başarabilirim?

+0

Bence sen sağlamalıdır senin Topluluğun anlaşılabilir olması için veriler (en azından örnek veriler). – Spider

cevap

1

Değil Çok süslü bir çözüm ancak aşağıdaki gibi yapabilirsin:

data = pd.concat([seqdf2, pardf2]) 
sp = plt.subplot(111) 

data.mul([1, 0], axis=0).plot.bar(color=colors, 
            ax=sp, 
            align='center', 
            stacked=True) 

data.mul([0, 1], axis=0).plot.bar(color=colors, 
            ax=sp, 
            legend=False) 
+0

Mükemmel, istediğimi elde etmek için ilk arsaya küçük bir genişlik = .05 eklemem gerekiyordu. Teşekkürler – Amxx

0

İşte benim çözümdür. Oldukça açık bir şekilde sorununuzu anlamadı beri iki çözümler sunar:

new_df = pd.concat([seqdf2, pardf2]) 

Seçenek 1

new_df.plot(kind='bar', stacked=True, colors = colors) 
plt.legend(loc='best') 

Seçenek 2

new_df = new_df.unstack().unstack() 
new_df.plot(kind='bar', stacked=True, colors = colors) 
plt.legend(loc='best') 
+0

Ben pardf2 yığılmış olmasını istemiyorum – Amxx

+0

Bu durumda, 'yığılmış = Yanlış' yazabilirsiniz – Spider

+0

Hala istendiğinde seqdf2 istiyorum – Amxx