2016-03-23 6 views
2

Ben deniz yosunu ithalatı ile istiflenmiş yatay bir arplot oluşturmak için pandalar komplo kullanmak çalışıyorum. Çubuklar arasındaki boşluğu kaldırmak istiyorum ama aynı zamanda çubukların üst üste gelmemesini istiyorum.pandalar ile denizanası kullanarak üst üste bindirme çubuklarını engelleme

import pandas as pd 
import numpy as pd 
import seaborn as sns 

df = pd.DataFrame(np.random.rand(15, 3)) 
df.plot.barh(stacked=True, width=1) 

enter image description here

Bu Seaborn almadan iş gibi görünüyor, ben Seaborn tarzı gibi ve genellikle ben bu çalışıyorum ipython defterine bir ithalat olmasına rağmen: Bu denedim budur mümkün? Eğer çubuk çizgi genişliğine ayarlarsanız

+0

* * "Ben çubuklar arasındaki boşluğu kaldırmak değil, aynı zamanda barlar üst üste birşey istiyorum" -> Size gönderilen görüntü o tatmin etmiyor bana nasıl net değil kriterleri. –

+0

Çizgiye yakından bakın, örneğin 4'ün kırmızı kısmı, altındaki çubukla örtüşür. Bu, daha fazla çubuk içeren arazilerde daha belirgindir ve yeterli çubuklarla neredeyse okunamaz hale gelir. – johnchase

+0

Şeklini "dpi" parametresi daha yüksek olacak şekilde kaydederseniz ne olur? –

cevap

4

Bu eser aynı zamanda matplotlib varsayılanlarla görülebilir zorundadır Seaborn ne tarz:

import pandas as pd 
import numpy as np 

df = pd.DataFrame(np.random.rand(15, 3)) 
df.plot(stacked=True, width=1, kind="barh", lw=.5) 

enter image description here

bir çözüm geri çubuğu hatları artış olacağını kabaca nerede matplotlib varsayılan değerler:

import pandas as pd 
import numpy as np 
import seaborn as sns 

df = pd.DataFrame(np.random.rand(15, 3)) 
df.plot(stacked=True, width=1, kind="barh", lw=1) 

enter image description here

+0

İlginçtir ki bu sorun, belirttiğim satır genişliğinden bağımsız olarak, tamamen anladığımdan emin değilim. Bu sorunu düzeltiyor, teşekkürler. – johnchase

2

Belki de çizgi genişliğini azaltmalısınız?

import seaborn as sns 

f, ax = plt.subplots(figsize=(10, 10)) 
df.plot(kind='barh', stacked=True, width=1, lw=0.1, ax=ax) 

enter image description here