官术网_书友最值得收藏!

3.3 向直方圖中添加概率密度曲線

我們可以單獨使用直方圖來描述定量數據的分布特征。如果給直方圖添加一條概率密度曲線,就會更加明顯地刻畫定量數據的分布特征。

下面,我們就通過具體代碼來展示繪制概率密度曲線的實現方法。

1.代碼實現

2.運行結果(見圖3-3)

圖3-3

3.代碼精講

(1)通過調用“mpl.rcParams["font.sans-serif"]=["FangSong"]”語句,設置中文字體類型是“仿宋”。

(2)調用實例方法hist()繪制直方圖,同時將返回值分別賦給變量n、bins和patches。

注意:

實例方法中的參數normed用來設置y軸是否用概率密度表示數據的分布特征。在matplotlib 2.0.0及以上版本中,參數normed已經換成了density,如果同時使用這兩個參數,那么執行結果會報錯。

(3)通過調用“np.random.randn(500)”語句,我們獲得的是樣本容量為500的標準正態分布的樣本,也就是說,正態分布經過標準化后服從標準正態分布,即均值是1、標準差是0的正態分布。需要補充的是,標準化公式是,如果XNμσ2),那么經過標準化后就有。因此,我們使用公式,獲得樣本容量是500、均值是60、標準差是2的正態分布的樣本,即數組x。

(4)設置箱體的數量為50。

(5)通過調用“y=((1/(np.power(2*np.pi,0.5)*sigma))*np.exp(-0.5*np.power((bins-mu)/sigma,2)))”語句,計算箱體的邊界值數組bins的概率密度值。然后通過調用實例方法plot()繪制關于bins和y的折線圖,即概率密度曲線。

(6)使用實例方法text()向繪圖區域添加文本,文本內容通過“r"$...$"”格式進行文本渲染,即使用mathtext方法實現文本渲染。

(7)使用實例方法 set_xlabel()、set_ylabel()和 set_title()向繪圖區域添加中文內容,其中繪圖區域的標題內容依然是使用mathtext方法來實現的。

4.內容補充

我們不僅可以向直方圖中添加概率密度曲線,還可以在概率密度曲線的基礎上繪制積分區域,用來表示數值在指定積分區域上的取值概率,也可以理解成數值落在指定區域上的可能程度。為了闡述問題的方便,我們將與圖3-3相對應的腳本稱作原始腳本。這樣,為了繪制積分區域和添加積分表達式,我們可以向原始腳本中添加以下Python代碼。

(1)導入模塊patches中的類Polygon,這是一個可以繪制不規則多邊形的類。

(2)設置積分區域。

(3)繪制積分區域,其中,參數closed的取值表示不會將不規則多邊形設置成封閉圖形。也就是說,不規則多邊形的起點和終點是不會重合的。

(4)添加無指示注解,注解內容是積分表達式。

(5)通過向原始腳本中添加上面的Python代碼,運行修改后的腳本,可以獲得如圖3-4所示的運行結果。

圖3-4

主站蜘蛛池模板: 嘉定区| 保亭| 临沧市| 郯城县| 汾阳市| 社旗县| 高台县| 丰宁| 蓝山县| 朝阳区| 丰顺县| 什邡市| 永吉县| 乌拉特后旗| 读书| 通江县| 辽宁省| 桂林市| 静乐县| 咸丰县| 海南省| 全州县| 武夷山市| 五大连池市| 太原市| 黔南| 鹿泉市| 枣阳市| 上林县| 江源县| 武邑县| 黑水县| 许昌市| 娄烦县| 甘南县| 会昌县| 林芝县| 扶绥县| 天台县| 芷江| 龙州县|