分享ggpubr 包:教你繪製密度圖、直方圖、柱狀圖

2021-01-11 OFweek維科網

今天我們要分享的R包是 ggpubr 包,它是一款基於ggplot2的可視化包,功能非常強大,能夠一行命令繪製出符合出版物要求的圖形。ggpubr 包可繪製的圖形類型非常多,有密度圖、直方圖、柱狀圖、餅圖、棒棒糖圖、Cleveland 點圖、箱線圖、小提琴圖、點帶圖、點圖、散點圖、線圖、誤差棒圖……哈哈,有木有很期待接下來這個 ggpubr 包的學習了呢!別急,這個包的內容實在是有點多哈,接下來我們會分3期進行詳細的講解,記得緊跟我們的學習哦~

先簡單介紹一下今天要分享的繪圖內容,分別有:密度圖、直方圖、柱狀圖、餅圖、棒棒糖圖、Cleveland 點圖。

接下來,先安裝 ggpubr 包:

# Install from CRAN:install.packages("ggpubr")library(ggpubr)

密度圖

#先構建數據集
set.seed(1234)df1 <- data.frame(sex=factor(rep(c("F", "M"), each=200)),                 weight=c(rnorm(200, 55), rnorm(200, 58)))
head(df1)#   sex   weight# 1   F 53.79293# 2   F 55.27743# 3   F 56.08444# 4   F 52.65430# 5   F 55.42912# 6   F 55.50606
tail(df1)#     sex   weight# 395   M 58.52875# 396   M 58.78939# 397   M 58.45710# 398   M 58.53883# 399   M 58.01464# 400   M 57.08351

# 基礎樣式,添加均值線和地毯線,密度圖展示不同性別分組下體重的分布,X軸為體重,Y軸為自動累計的密度ggdensity(df1, x = "weight", fill = "lightgray", add = "mean", rug = TRUE)

# 根據分組設置線條顏色和填充

ggdensity(df1, x="weight", add = "mean",           rug = TRUE, color = "sex", fill = "sex",          palette = c("#00AFBB", "#E7B800"))

# 更改自定義顏色ggdensity(df1, x="weight", add = "mean", rug = TRUE,           color = "sex", fill = "sex",          palette = "npg")

# 限定x軸取值範圍ggdensity(df1, x="weight", add = "mean", rug = TRUE,          color = "sex", fill = "sex",          palette = "npg") + xlim(53,60)

# 設置分組分面,更改邊框線類型ggdensity(df1, x = "weight", facet.by = "sex", linetype = "dashed",          add = "mean", rug = TRUE,          color = "sex", fill = "sex",          palette = c("#00AFBB", "#E7B800"))

接下來我們詳細解讀一下用到的 ggdensity 函數:用法:
ggdensity(data, x, y = "..density..", combine = FALSE, merge = FALSE,  color = "black", fill = NA, palette = NULL, size = NULL,  linetype = "solid", alpha = 0.5, title = NULL, xlab = NULL,  ylab = NULL, facet.by = NULL, panel.labs = NULL,  short.panel.labs = TRUE, add = c("none", "mean", "median"),  add.params = list(linetype = "dashed"), rug = FALSE, label = NULL,  font.label = list(size = 11, color = "black"), label.select = NULL,  repel = FALSE, label.rectangle = FALSE, ggtheme = theme_pubr(),  ...)

參數:篇幅有限,沒有用到的自行探索~,有的參數在後面的其他圖形還會講解

data

所需的數據框 dataframe

x

進行作圖所需的數據

y

設置為密度/數量(density/count)

combine

對於多個變量的數據是否分面

merge

對於多個變量的數據是否合併,默認是FALSE

color, fill

線條顏色與填充色

palette

自定義顏色畫板

size

設置點和輪廓的大小

linetype

線條類型

alpha

透明度設置

title

設置標題

xlab

設置x軸標題

ylab

設置y軸標題

facet.by

設置分組分面

panel.labs

設置分面各組的標題

short.panel.labs

是否縮寫分面標題,邏輯值,默認是TRUE。

add

添加均值線或中位數線,選項有"mean" or "median"

add.params

給add參數的對象添加其他參數/屬性

rug

邏輯值,若為TRUE,在X軸上添加地毯線顯示樣本的分布

label

設置列標籤

font.label

設置標籤字體

repel

邏輯值,是否使用ggrepel避免字體重疊

label.rectangle

是否給標籤添加方框

ggtheme

設置畫圖主題

直方圖

用到的數據還是 df1,直方圖只是把密度還原成了原始數據counts值gghistogram(df1, x="weight", add = "mean", rug = TRUE, fill = "lightgray")

# 按照分組設置邊框顏色gghistogram(df1, x="weight", add = "mean", rug = TRUE,             color ="sex", palette = c("#00AFBB", "#E7B800"))

# 按照分組設置填充顏色

gghistogram(df1, x="weight", add = "mean", rug = TRUE, fill = "sex",            palette = c("#00AFBB", "#E7B800"))

# 同時設置邊框和填充顏色gghistogram(df1, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex",            palette = c("#00AFBB", "#E7B800"))

相關焦點

  • Python可視化很簡單,一文學會繪製柱狀圖、條形圖和直方圖
    、條形圖和直方圖相關的東東吧!用matplotlib庫的bar()函數繪製柱狀圖哦bar()函數的作用就是在圖表的x軸上繪製一個一定數據的分布圖哦,那bar()函數的語法格式是怎樣的呢?好啦,為了能夠更好的理解,咱們還是舉個「慄子」吧:上面方框中就是咱們所調用的bar()函數哦,下面咱們就運行一下看看效果吧:運行上面的指令輸出以下結果哦:好啦,上面就是用matplotlib庫的bar()函數生成柱狀圖的過程哦,下面咱們再看一下如何繪製條形圖吧
  • 使用R語言繪製直方圖
    在本號前面的文章中介紹了R語言中繪製散點圖,折線圖,條形圖,餅圖和箱線圖的方法,有興趣的讀者關注本號後,可以往前看本號的所有文章,本文將介紹在R中繪製直方圖的方法。直方圖概述直方圖(Histogram)又稱柱狀圖,是由一系列高度不等的縱條紋或線段表示的數據分布情況。
  • 手把手教你繪製多個基因表達值小提琴圖
    2.988273 3.068690 2.757790## N3 3.806364 4.327977 2.811002 2.546459 2.897796## N4 3.621140 3.698909 2.815539 3.278493 2.785017## N5 3.812910 4.214652 2.814199 2.800704 2.916013整合小提琴圖
  • Python學習第89課-數據可視化之直方圖繪製
    假設你想投資某一個城市的房地產,你肯定需要對這個城市的人口分布、增長潛力做一個調查,這時我們就需要做一個直方圖(histogram plot)。.,90-99歲裝到一個桶裡,即以10歲的間隔設置年齡段,以每一個年齡段為坐標畫一個柱狀圖,這些柱狀圖組合到一起,形成了直方圖。因此,我們大概可以這樣理解:直方圖就是把數據劃分區域後,以數據區域為節點繪製的柱狀圖的集合。
  • 直方圖、正態圖,如何解讀才正確?
    直方圖是一種用於展示定量數據分布的常用圖形。通過直方圖,用戶可以很直觀的看出數據分布的形狀、中心位置以及數據的離散程度等。很多軟體也可以為直方圖添加上正態曲線,進一步通過正態曲線判斷數據的正態性。直方圖與柱狀圖的區別需要注意的是,直方圖和我們常見的柱狀圖可不一樣。直方圖用於顯示定量數據的分布;而柱狀圖對比定類數據。在繪製時,直方圖是按照數值大小進行分組排列,前後順序不可變更;柱狀圖則是對分類對象進行分組,而不是根據具體數值進行分組,分組順序可以調整。
  • 相機直方圖不會看?5分鐘教你看懂直方圖!
    ,如何看懂直方圖。什麼是直方圖?所謂的直方圖,其實是一個類似柱狀圖的圖表,圖表被劃分成5個區域,從左到右分別是黑色、陰影、曝光、高光、白色。其實不難理解,直方圖從左到右的數值就是畫面從暗到亮的漸變過程。而直方圖上有像一個接一個山峰狀的縱軸,指的就是有多少個像素,在這個區域裡面,像素越多,山峰越高。
  • MedCalc16: 4.3.1分布圖: 直方圖
    graph)、正態圖(Normal plot)、點圖(dot plot)和箱式圖(Box-and-whisker plot)。此外直方圖還可以發現異常數據、指定正常值範圍、顯示數據的波動狀態,判斷相關條件的穩定性、提示施加幹預措施的方向。〖例4-4〗對例4-3的異常值修正後繪製男性身高的直方圖。(成人身高體重.mc1)一、打開立數據文件:「成人身高體重.mc1」。
  • Matplotlib繪製六種可視化圖表,值得收藏
    對於初學者來說,很容易被這官網上眾多的圖表類型給嚇著了,由於種類太多,幾種圖表的繪製方法很有可能會混淆起來。 因此,在這裡,我特地總結了六種常見的基本圖表類型,你可以通過對比學習,打下堅實的基礎。 01.
  • Graphpad 作圖教程|手把手教你繪製柱形圖
    今天給大家介紹 GraphPad Prism 如何繪製柱狀圖。柱狀圖通常表示均值 ± 標準差的數據,數據要求符合正態分布,描述數據的特點或者比較各組數據間的差異,多數情況下採用方差分析和 T 檢驗。舉個例子:現有三組實驗對象,分別命名為對照組、A 組和 B 組。
  • 實驗數據完成了,如何繪製為柱狀圖 | 以qPCR為例講解
    實驗數據完成了,如何繪製為柱狀圖?本文以實時螢光定量PCR(qPCR)為例講解。qPCR是通過螢光信號對擴增進程實時檢測,由於其靈敏度高、特異性強,樣本的Ct值和與基因拷貝數有關,現已作為科研實驗中重要的驗證方法。
  • Matplotlib庫繪製直方圖
    繪製直方圖直方圖由豎立在x軸上的多個相鄰的矩形組成,這些矩形把x軸拆分為一段段彼此不重疊的線段(線段兩個端點所標識的數據範圍也叫面元),矩形的面積跟落在其所對應的面元的元素數量成正比。pyplot用於繪製直方圖的函數為hist( ),該函數具有一個其他繪圖函數所沒有的功能。它除了繪製直方圖外,還以元組形式返回直方圖的計算結果。事實上,hist( )函數還可以實現直方圖的計算。
  • 用Seaborn繪製圖表
    Seaborn可以很好地處理數據幀,而Matplotlib則不行,它可以讓你以更簡單的方式繪製引人注目的圖表。熱圖熱圖幫助你可視化矩陣類型的數據。例如,我們可以將口袋妖怪不同屬性之間的所有關聯可視化。讓我們通過調用「corr」函數來計算數據幀的相關性,並使用「heatmap」函數繪製熱圖。corr = df_copy.corr()sns.heatmap(corr)上面的熱圖顯示了我們數據幀的相關性。
  • 數據分析學習:手把手教你用直方圖、餅圖和條形圖做數據分析...
    對於定量數據,要想了解其分布形式是對稱的還是非對稱的、發現某些特大或特小的可疑值,可做出頻率分布表、繪製頻率分布直方圖、繪製莖葉圖進行直觀分析;對於定性數據,可用餅圖和條形圖直觀地顯示其分布情況。
  • Python繪圖筆記:繪製有趨勢線的直方圖、小提琴圖和誤差圖
    1.小提琴圖和箱線圖#同時繪製箱線圖和小提琴圖,箱線圖清楚地展示了所繪製的數據集中的四分位數和離群點#小提琴圖則清晰展示了數據集中的分布情況import matplotlib.pyplot as pltimport numpy as np
  • Excel橫向柱狀圖怎麼繪製?可以這樣操作
    如何製作一種簡單明了的橫向柱狀圖呢?如下是需要的數據及基本的操作步驟,趕快學起來吧!一、函數法使用REPT函數,重複生成|,為了避免生成|過多,將原數字除以25公式:=REPT("|",B3/25)&B3二、使用圖表插入普通的條形圖,然後將條形圖嵌套到單元格
  • 從零開始學Python可視化(二):掌握統計圖形的繪製
    折線圖和散點圖常用且實用,但是並不能滿足我們的作圖需求。這次我們會嘗試更多常見的統計圖形,比如條形圖、直方圖、餅圖等,我們的目標是掌握工作學習過程中使用最頻繁的圖形技能。1. 柱狀圖(條形圖) —— bar() / barh()柱狀圖又叫條形圖,用於繪製定性(分類)數據的分布特徵,比如不同國家的GDP、不同年齡段的平均體重等。
  • 一分鐘教你學會帕累託圖
    什麼是帕累託圖?帕累託圖是一種按發生頻率大小順序繪製的特殊直方圖,故又名排列圖、主次圖。帕累託圖與帕累託法則一脈相承,帕累託法則認為,相對少量的原因通常造成大多數的問題或缺陷,即80%的問題是由20%的原因導致的,故又稱二八法則或80/20法則。帕累託圖也用於匯總各種類型的數據。