2014-05-09 30 views
13

ile arsa dışında efsaneyi koymak?nasıl mümkün olabilir arsa dışında efsaneyi koymak nasıl pandalar

import pandas as pd 
import matplotlib.pyplot as plt 
a = {'Test1': {1: 21867186, 4: 20145576, 10: 18018537}, 
    'Test2': {1: 23256313, 4: 21668216, 10: 19795367}} 

d = pd.DataFrame(a).T 
#print d 

f = plt.figure() 

plt.title('Title here!', color='black') 
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5)) 
d.plot(kind='bar', ax=f.gca()) 
plt.show() 
+13

Aslında tam bir yineleme değil ... soru Pandalar için özel olarak soruyor. Aşağıdaki yanıt, "matplotlib.pyplot" ayrıntılandırmalarının uygulanmasını mümkün kılan pandas.DataFrame.plot işlevinden bir plot işlev çağrısına nasıl bir eksen atacağınızı gösterir. – slushy

+0

Evet, bu bir kopya değil ve bu şekilde işaretlenen rahatsız edici. – ferrouswheel

cevap

22

Ben size çağıran legend eklemeden önce plot aramak gerek.

import pandas as pd 
import matplotlib.pyplot as plt 
a = {'Test1': {1: 21867186, 4: 20145576, 10: 18018537}, 
    'Test2': {1: 23256313, 4: 21668216, 10: 19795367}} 

d = pd.DataFrame(a).T 
#print d 

f = plt.figure() 

plt.title('Title here!', color='black') 
d.plot(kind='bar', ax=f.gca()) 
plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5)) 
plt.show() 
+1

Ancak, efsanenin yarısı artık resimde değil mi? Düzeltmek nasıl mümkün olabilir? – user977828

+0

Gerçekten ayrı bir soru, ancak 'f.subplots_adjust (right = 0.8)' ı deneyebilirsiniz. Sadece efsane taşımak isterseniz – Phil

+3

, sen .plot'' bir matplotlib eksenini döndüren '' gerçeği yararlanabilir ve '' ekleyin .legend (bbox_to_anchor = (1,1)) '' sonuna senin kod satırı arsa –

İlgili konular