2016-01-13 55 views
0

我有一個名爲conversionRate這樣數據幀:副區副軸線 - 的Python,matplotlib

 

      | State| Apps | Loans| conversionratio| 
2013-01-01 IL  1165 152 13.047210 
2013-01-01 NJ  2210 756 34.208145 
2013-01-01 TX  1454 73 5.020633 
2013-02-01 CA  2265 400 17.660044 
2013-02-01 IL  1073 168 15.657036 
2013-02-01 NJ  2036 739 36.296660 
2013-02-01 TX  1370 63 4.598540 
2013-03-01 CA  2545 548 21.532417 
2013-03-01 IL  1108 172 15.523466 

我打算繪製應用的貸款在主Y軸的數量和數目和在二次轉化率軸爲每個狀態。

我嘗試下面的代碼:

import math 
rows =int(math.ceil(len(pd.Series.unique(conversionRate['State']))/2)) 
    fig, axes = plt.subplots(nrows=rows, ncols=2, figsize=(10, 10),sharex=True, sharey=False) 
    columnCounter = itertools.cycle([0,1]) 
    rowCounter1 = 0 
    for element in pd.Series.unique(conversionRate['State']): 
     rowCounter = (rowCounter1)//2 
     rowCounter1 = (rowCounter1+1) 
     subSample = conversionRate[conversionRate['State']==element] 
     axis=axes[rowCounter,next(columnCounter)] 
     #ax2 = axis.twinx() 
     subSample.plot(y=['Loans', 'Apps'],secondary_y=['conversionratio'],\ 
           ax=axis) 

我最終像下面的一個數字:

enter image description here

的問題是如何獲取輔助軸的線來表示?如果我嘗試下面(根據plot()中的手動設置secondary_y應選擇性地繪製次軸中的那些列),我只能看到次軸上的I線。必須有一些簡單而明顯的我缺少的東西。我無法弄清楚它是什麼!任何大師能幫忙嗎?

subSample.plot(secondary_y=['conversionratio'],ax=axis) 

回答

1

您需要包括conversionrationy=['Loans', 'Apps','conversionratio']以及在secondary_y ...或更好,但離開這個參數了,因爲用戶要打印的所有列。

rows =int(math.ceil(len(pd.Series.unique(conversionRate['State']))/2)) 
fig, axes = plt.subplots(nrows=rows, ncols=2, figsize=(10, 
10),sharex=True, sharey=False) 
columnCounter = itertools.cycle([0,1]) 
rowCounter1 = 0 
for element in pd.Series.unique(conversionRate['State']): 
    rowCounter = (rowCounter1)//2 
    rowCounter1 = (rowCounter1+1) 
    subSample = conversionRate[conversionRate['State']==element] 
    axis=axes[rowCounter,next(columnCounter)] 
    #ax2 = axis.twinx() 
    subSample.plot(secondary_y=['conversionratio'], ax=axis) 

enter image description here

+0

當我漏下Y = [ '貸款', '應用', 'conversionratio'],它繪出僅conversionratio在次級軸。 – Arun

+1

你是什麼意思?當我運行代碼時,我已經包含了輸出 – maxymoo

+0

明白了!對不起,它沒有先在我的電腦上呈現。你的解決方案有效不知道爲什麼它不能爲我提前工作。 – Arun