2016-07-26 97 views
1

我的數據集與6號列表:[23948.30, 23946.20, 23961.20, 23971.70, 23956.30, 23987.30]蟒蛇/ matplotlib盒形軸

我想他們是在一個水平箱形圖,線在x軸上,與2385524472爲限x軸,因此箱形圖將位於該線的中間。如果不能這樣做,至少在它下面顯示x軸,並且非常接近盒子圖。

我還希望箱形圖顯示平均數。

現在我只能得到水平方塊圖,我也希望x軸顯示整個數字而不是「xx + 2.394e」。

這裏是我現在的代碼:

def box_plot(circ_list, wear_limit): 
    print circ_list 
    print wear_limit 

    fig1 = plt.figure() 
    plt.boxplot(circ_list, 0, 'rs', 0) 
    plt.show() 

回答

1

我不知道我在你的帖子明白了一切,但這裏是我的更正代碼:

l = [23948.30, 23946.20, 23961.20, 23971.70, 23956.30, 23987.30] 

def box_plot(circ_list): 
    fig, ax = plt.subplots() 
    plt.boxplot(circ_list, 0, 'rs', 0, showmeans=True) 
    plt.ylim((0.75, 1.25)) 
    ax.set_yticks([]) 
    labels = ["{}".format(int(i)) for i in ax.get_xticks()] 
    ax.set_xticklabels(labels) 
    plt.show() 

box_plot(l) 

結果:

Your box-plot

現在爲您的請求的細分和如何代碼corr向他們發送:

  • 顯示均值:這是plt.boxplot函數中參數showmeans=True的簡單添加。
  • 繪製水平框圖更接近x軸。默認情況下,boxplot在y = 1處繪製,因此我只是使用plt.ylim()將y軸重新調整到0.75和1.25之間。如果要繪製更接近x軸的盒圖(例如,通過將0.75更改爲0.9),則可以調整這些數字,或者從盒圖中進一步繪製曲線的頂部(例如,將1.25更改爲1.5) 。我也消除了使用plt.set_ticks([])來清理地塊的問題。
  • 以整數形式顯示x-ticks標籤。我只是將xticks的每個標籤轉換爲一個整數,然後使用ax.set_xticklabels()函數將其應用。

請讓我知道它是否與您正在尋找的東西相對應,以及您的快樂matplotlib;)。