天天看點

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

本節書摘來自華章出版社《stata統計分析與應用(第2版)》一書中的第3章,第3.2節,作者 周廣肅,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

直方圖、散點圖與曲線标繪圖是較為常用的三種統計圖形,常用來表示資料的分布和變化趨勢,本節将會通過例子介紹三種圖形的基本繪制方法。

直方圖是用矩形的面積(即長度和寬度)來表示頻數分布的圖形,在平面直角坐标系中,一般用縱軸表示頻數或頻率,用橫軸表示資料的分組。通過該種圖形,使用者可以較為直覺地了解資料的整體情況,如分布類型、中心位置、分散程度等。

在stata中繪制直方圖的最基本指令語句為:

histogram varname [if] [in] [weight] [, [continuous_opts | discrete_opts]

options]

varname是将要繪制圖形的變量,if是條件語句,in是範圍語句,weight是權重語句。下面将要着重介紹的是 histogram的選項,如表3.2所示。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

例如,利用usaauto檔案,繪制一個關于mpg變量的最為基本的直方圖。此資料是根據統計資料得到的美國汽車産業的橫截面資料(1978年),完整的資料位于本書附帶CD光牒data第3章usaauto.dta工作檔案中。

輸入指令:

這個指令語句隻告訴stata為變量mpg繪制直方圖的基本指令,而不進行任何設定,這時stata将繪制出如圖3.4所示的直方圖。

但是這個圖形過于簡單和粗糙,我們可以對圖形進行以下優化設定:

為圖形添加标題“mpg直方圖”。

把直方條的數目由現在的8個增加到10個。

增加腳注“資料來源于美國汽車協會”。

橫軸刻度範圍為從10~45,刻度機關為5,名稱為“每加侖油行使英裡數/機關:英裡”。

為圖形添加一條正态曲線。

标注直方條的高度。

完成以上設定,可重新輸入繪制圖形的如下指令:

在上述指令語句中,“title(mpg直方圖)”的作用是對圖形添加标題;“bin(10)”的作用是設定直方條數目為10;“note(資料來源于美國汽車協會)”用于設定腳注的内容;“xtick(10(5)45)”用于設定橫軸刻度起始值為10,終止值是45,間隔是5;“xtitle(每加侖油行使英裡數/機關:英裡)”部分完成了橫軸标題的設定;“norm”表示進行正态曲線的繪制,“addlabels”可标注直方條的高度。指令執行的結果顯示在圖3.5中。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

如果将國産車與進口車的圖形分開展示,并作對比,可以在以上指令之後再添加如下指令語句:

是以,這時需要輸入的完整指令語句為:

可以看到如圖3.6所示的結果,這時圖形按照分類變量foreign對資料分别繪制直方圖進行顯示,友善使用者的對比分析。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

散點圖是雙向關系圖的一種,常用來反映兩個或多個變量之間的關系。散點圖中通常用縱軸來表示因變量,用橫軸來表示自變量,用圖形來反映縱軸的數值是否随橫軸數值的變化而變化。

繪制散點圖的最基本指令語句為:

[twoway] scatter表示繪制散點圖,varlist是将要繪制圖形的變量,注意x變量要放置在y變量之後,if是條件語句,in是範圍語句,weight是權重語句。需要注意的是,散點圖特有的資料标記設定群組群劃分選項。

資料标記的設定

資料标記的設定包括資料标記形狀的設定、顔色的設定、大小的設定、散點标簽的設定4個部分。

(1)資料标記形狀的設定

資料标記形狀的設定,是通過msymbol()指令選項來進行的,在括号中輸入所需要的形狀代号即可。形狀指令代号參見表3.3。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

(2)資料标記顔色的設定

資料标記顔色的設定,是通過mcolor()指令選項實作的,将所需要的顔色名稱輸入括号中即可。例如設定标記的顔色為紅色,可使用如下指令:

mcolor(red)

(3)資料标記大小的設定

資料标記大小的設定,通過msize()指令選項,将适當大小的數字輸入括号中即可。例如設定标記的大小為5号,使用指令:

msize (5)

(4)散點标簽的設定

散點标簽的設定,通過mlabel()和mlabposition()指令選項,将标簽的内容輸入mlabel後的括号,将代表位置的數字輸入mlabposition後面的括号即可。例如設定散點的内容為變量city,位置在3點鐘處,可使用如下指令:

群組劃分選項

如果在資料中存在分類變量,可以将資料分類以後再繪制散點圖,所使用的指令為by(),括号中需要填入分類變量。例如,按照性别變量分類繪圖,可在繪圖指令之後添加:

下面通過一個實際例子來加深了解,運用usaauto資料檔案中的資料繪制mpg和weight關系的最為基本的散點圖。輸入如下指令語句:

這時stata将繪制出如圖3.7所示的散點圖。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

根據本節講到的指令,對圖形進行以下優化設定:

為圖形添加标題“mpg與weight散點圖”和副标題“1978年美國汽車資料圖”。

為圖形添加圖例,位置在鐘表2點鐘處。

繪制一條拟合的趨勢曲線。

為此,重新輸入繪制圖形的指令如下:

在這個指令語句中,“twoway scatter mpg weight || lfit mpg weight”部分完成了兩個主體圖形的繪制,其中符号“||”表示在同一個坐标系内展示兩個圖形,lfit表示拟合曲線;“title(mpg與weight散點圖) subtitle(1978年美國汽車資料圖)”部分完成标題與副标題的設定;“legend(position(2))”部分完成圖例位置的設定,位置在2點鐘處。繪制的圖形如圖3.8所示。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

此外,我們可以進一步将圖3.8做如下改進:

将散點的形狀設定為實心大三角,顔色為黑色。

為每個散點添加标簽,内容為汽車的品牌(make),位置為9點鐘處,顔色為黑色。

按照變量foreign分成兩個圖形進行繪制。

完成以上設定,使用者需要重新輸入繪制圖形的指令如下:

在這個指令語句中,新加入的指令語句“msymbol(t) mcolor(black)”表示設定散點形狀、顔色,msymobl(t)表示為實心大三角,mcolor(black)表示顔色為黑色;“mlabel(make) mlabcolor(black) mlabposition(9)”部分設定了散點标簽内容為make生産商,顔色為黑色,位置在9點鐘處;“by(foreign)”将資料分為兩幅圖形進行繪制。完成後的散點圖如圖3.9所示。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

曲線标繪圖也是雙向關系圖的一種,它是用線段的升降趨勢來說明現象變化或變量之間關系的一種圖形。它與散點圖類似,實際上它就是将連續型的數值變量點連接配接起來的一種圖形,但由于它還可以用于回歸曲線的繪制,是以使用範圍較散點圖來說更為廣泛。

繪制曲線标繪圖的最基本指令語句為:

varlist是将要繪制圖形的變量,一定注意x變量要放置在y變量之後,if是條件語句,in是範圍語句。關于options選項内容,曲線标繪圖與散點圖均大部分一緻,這裡着重介紹不同的内容,即有關曲線内容的設定方式。

連接配接樣式的設定

由于曲線标繪圖就是将散點連接配接起來的圖形,是以連接配接樣式尤為重要,其設定的語句為connect(),其中括号中需要填入樣式代碼(具體内容如表3.4所示),預設的樣式為直線連接配接。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

線條樣式的設定

線條樣式的設定主要是通過clpattern()語句實作的,使用時需要将樣式的代碼填入括号中,代碼内容如表3.5所示。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

例如,運用financevalue.dta資料繪制曲線标繪圖,此資料是中國1988年~2010年金融業增加值的資料,變量主要包括:year=年份,financevalue=金融業增加值(機關:億),gdp=國内生産總值(機關:億)。完整的資料位于本書附帶CD光牒data第3章financevalue.dta工作檔案中。

利用檔案中的資料繪制金融業增加值financevalue和國内生産總值gdp随時間變化的曲線标繪圖,所有設定均使用預設設定,需要輸入的指令語句為:

在這個指令語句中,twoway line是繪制曲線标繪圖的指令,即告訴stata為變量financevalue和gdp繪制随時間變化的曲線标繪圖,但不進行任何設定,這時stata将會繪制出如圖3.10所示的曲線标繪圖。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

從圖3.10中可以看到這個預設設定的許多弊端,例如圖例是一行排列,線條用色彩區分,在黑白列印時無法區分等,是以,使用者可以對此圖形進行以下優化:

将圖例分成兩行設計,圖例内容為“金融業增加值”和“國内生産總值”,并讓圖例位于圖形内部的11點鐘位置。

線條中的一條為實線連接配接,另一條為虛線連接配接。

線條中的一條為直線連接配接,另一條為stairstep方式連接配接。

完成以上設定後,使用者需要重新輸入繪制圖形的指令如下:

在這個指令語句中,“label(1 "金融業增加值") label(2 "國内生産總值")”部分實作了圖例内容的設定,表示第1個圖例為“金融業增加值”,第2個為“國内生産總值”;“position(11)”部分實作了圖例位置的設定;“ring(0)”部分的作用是使圖例顯示在圖形内部;“row(2)”部分的作用是使圖例分兩行顯示;“clpattern(solid dash)”部分實作了實線和虛線的設定,表示第1條為實線,第2條為虛線;“connect(l j)”部分實作了直線連接配接和stairstep方式的連接配接。上述指令的執行結果如圖3.11所示。

《Stata統計分析與應用(第2版)》一3.2 直方圖、散點圖和曲線标繪圖的繪制

繼續閱讀