2014-01-22 35 views
0

我跑到下面的代碼來獲得兩個地塊彼此相鄰(這是一個很小的工作示例,您可以複製):我的熊貓產生的次要情節不正確layouted

import pandas as pd 
import numpy as np 
from matplotlib.pylab import plt 

comp1 = np.random.normal(0,1,size=200) 
values = pd.Series(comp1) 

plt.close("all") 
f = plt.figure() 
plt.show() 

sp1 = f.add_subplot(2,2,1) 
values.hist(bins=100, alpha=0.5, color="r", normed=True) 

sp2 = f.add_subplot(2,2,2) 
values.plot(kind="kde") 

不幸的是,我再拿到以下圖片: enter image description here

這也是一個有趣的佈局,但我希望數字是相鄰的。我做錯了什麼?我該如何糾正它?

爲清楚起見,我還可以使用這樣的:

import pandas as pd 
import numpy as np 
from matplotlib.pylab import plt 

comp1 = np.random.normal(0,1,size=200) 
values = pd.Series(comp1) 

plt.close("all") 
fig, axes = plt.subplots(2,2) 
plt.show() 
axes[0,0].hist(values, bins=100, alpha=0.5, color="r", normed=True) # Until here, it works. You get a half-finished correct image of what I was going for (though it is 2x2 here) 
axes[0,1].plot(values, kind="kde") # This does not work 

遺憾的是,這種方法axes[0,1]是指具有一個plot方法,但不知道kind="kde"的插曲。請注意第一個版本plot在熊貓物件上執行,而第二個版本plot在子圖上執行,它不適用於kind="kde"參數。

回答

2

ax=使用參數設定繪製哪個副區對象:

import pandas as pd 
import numpy as np 
from matplotlib.pylab import plt 

comp1 = np.random.normal(0,1,size=200) 
values = pd.Series(comp1) 

plt.close("all") 
f = plt.figure() 
sp1 = f.add_subplot(2,2,1) 
values.hist(bins=100, alpha=0.5, color="r", normed=True, ax=sp1) 

sp2 = f.add_subplot(2,2,2) 
values.plot(kind="kde", ax=sp2) 

enter image description here