天天看點

《R資料可視化手冊》一第3章 條形圖3.1 繪制簡單條形圖

本節書摘來自異步社群《r資料可視化手冊》一書中的第3章,第3.1節,作者 【美】winston chang,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

r資料可視化手冊

條形圖也許是最常用的資料可視化方法,通常用來展示不同的分類下(在x軸上)某個數值型變量的取值(在y軸上)。例如,條形圖可以用來形象地展示四種不同商品的價格情況,但不适宜用來展示商品價格随時間的變動趨勢,因為這裡時間是一個連續變量——盡管我們也可以這麼做,後面會看到這種情形。

繪制條形圖時需特别注意一個重要的細節:有時條形圖的條形高度表示的是資料集中變量的頻數,有時則表示變量取值本身。牢記這個差別——這裡極易混淆,因為兩者與資料集的對應關系不同,但又對應同樣的術語。本章将對此進行深入讨論,并分别介紹這兩類條形圖的繪圖技巧。

問題

你有一個包含了兩列資料的資料框,其中一列資料表示條形在x軸上的位置,另一清單示每個條形在y軸上對應的高度,基于此,如何繪制條形圖?

方法

使用ggplot()函數和geom_bar(stat="identity")繪制上述條形圖,并分别指定與x軸和y軸對應的變量(見圖3-1)。

《R資料可視化手冊》一第3章 條形圖3.1 繪制簡單條形圖

讨論

當x是連續型(數值型)變量時,條形圖的結果與上圖會略有不同。此時,ggplot不是隻在實際取值處繪制條形,而将在x軸上介于最大值和最小值之間所有可能的取值處繪制條形,如圖3-2所示。我們可以使用factor()函數将連續型變量轉化為離散型變量。

《R資料可視化手冊》一第3章 條形圖3.1 繪制簡單條形圖

本例中,資料集中包含兩列分别對應于x和y變量。如果你想讓條形圖的高度與每組變量的頻數相對應,可參見3.3節的内容。

預設設定下,條形圖的填充色為黑灰色且條形圖沒有邊框線,我們可通過調整fill參數的值來改變條形圖的填充色;可通過colour參數為條形圖添加邊框線。在圖3-3中,我們将填充色和邊框線分别指定為淺藍色和黑色。

《R資料可視化手冊》一第3章 條形圖3.1 繪制簡單條形圖

在ggplot2中,顔色參數預設使用的是英式拼寫colour,而非美式拼寫color。然而,ggplot2會在底層将美式拼寫重映射為英式拼寫,是以輸入美式拼寫的參數并不影響函數的運作。

另見

如果你想讓條形圖的高度對應于每組變量的頻數,可參見3.3節的内容。

根據另一個變量值重排因子水準順序的内容可參見15.9節。手動更改因子水準順序的内容,可參見15.8節。

更多關于圖形着色的内容,可參見本書第12章。

繼續閱讀