69-R可視化12-用easylabel輕鬆手動添加標記

2021-12-29 生信菜鳥團
Date : [[2021-12-06_Mon]]Tags : #R/index/02 #R/R可視化 #R/R數據科學 #R/R包 #R/偷懶者easylabel (r-project.org)[1]前言

先前我介紹過ggrepel 這個包:[[67-R可視化11-用ggrepel更加美觀的添加標記(火山圖的實現)]]

其實現的文本標記更加美觀,且個性化程度遠遠優於:[[66-R可視化10-自由的在ggplot上添加文本(柱狀圖加計數)]]

那麼我們可不可以直接指哪打哪,連代碼都不用呢?

基於shiny 的easylabel 包或許是你的選擇。

這裡我以火山圖為例。

1-準備工作

加載包、製作假數據:

my_packages<- c("RColorBrewer", "paletteer", "ggplot2",
                "ggpubr", "tidyverse", "ggrepel", "devout",
                "ggforce", "easylabel")
tmp <- sapply(my_packages, function(x) library(x, character.only = T)); rm(tmp, my_packages)

# make fake data
DEG <- data.frame(
  genes = paste0("gene", 1:100),
  fold_change = round(runif(100, -10, 10), 2),
  P_value = runif(100, 0.001, 0.1)
)
DEG$group <-  ifelse((DEG$P_value > 0.05) | (abs(DEG$fold_change) < 2) , "no-Significant",
                     ifelse(DEG$fold_change > 2, "increase", "decrease"))
DEG$group <- factor(DEG$group, levels = c("decrease", "no-Significant", 
                                          "increase"))
sig_DEG <- DEG[!DEG$group %in% "no-Significant",]

2-直接操作easylabel

開始我以為,這個包會像ggthemeassistant 一樣,直接操作繪圖對象p,直接修改代碼,更加方便且個性化。

沒想到,它是需要直接以數據框操作的。

這裡因為以火山圖為例,先使用火山圖繪圖函數easyVolcano :需要注意這裡的數據框的行名需要是基因名

# 開始之前修改一下數據框
DEG$new_P <- -log10(DEG$P_value)
easylabel(DEG)
rownames(DEG) <- DEG$genes

easyVolcano(DEG, x = "fold_change", 
            y = "P_value",
            fccut = 1, fdrcutoff = 0.05,
            ylim = c(0, 6), xlim = c(-5, 5),
            colScheme = colScheme,
            vline = c(-1, 1))

這裡參數分別表示:

fccut 是fold change 閾值,也是x軸;xlim 同上,超過這兩個邊界的點會被標記為outlier;vline 標記y 軸線段,用於分割結果,類似之前的geom_hline 操作;

接下來我們就可以在shiny 中交互添加了:

在shiny 界面,你還可以對標籤的位置進行個性化設置:

此外,除了在圖上標記,還有一個非常有意思的篩選框,你可以通過輸入基因名的方式標記:

還有一個非常簡單的shiny 數據模塊:

3-導出結果

官方支持多種導出格式:

這裡我嘗試直接pdf:

你們覺得好看嗎?

4-拓展內容

其實不止這一個函數,官方提供了:

等多個例子。

直接參考:easylabel (r-project.org)[2] 官方教程啦。

個人覺得,如果這個包可以直接給出繪圖代碼就好了,或者直接操作ggplot 對象,畢竟我對這種封裝的美觀體驗,還是有要求的,你怎麼知道你的繪圖代碼就能讓我滿意呢?

不過話說回來,這個包的一些繪圖細節,比如火山圖,還蠻值得學習的:

比如這個的小操作,還是蠻對我胃口的:

參考資料[1]

easylabel (r-project.org): https://cran.r-project.org/web/packages/easylabel/vignettes/easylabel.html

[2]

easylabel (r-project.org): https://cran.r-project.org/web/packages/easylabel/vignettes/easylabel.html

相關焦點

  • R語言可視化學習筆記之添加p-value和顯著性標記
    上篇文章中提了一下如何通過ggpubr包為ggplot圖添加p-value以及顯著性標記,本文將詳細介紹。利用數據集ToothGrowth進行演示。添加p-value主要利用ggpubr包中的兩個函數:##compare_means()函數該函數主要用用法如下:compare_means(formula, data, method = "wilcox.test", paired = FALSE,group.by =
  • R語言添加p-value和顯著性標記
    上篇文章中提了一下如何通過ggpubr包為ggplot圖添加p-value以及顯著性標記,本文將詳細介紹。利用數據集ToothGrowth進行演示。添加p-value主要利用ggpubr包中的兩個函數:## compare_means()函數該函數主要用用法如下:compare_means(formula, data, method = "wilcox.test", paired = FALSE,group.by
  • R語言、Matlab、MeteoInfo、Python及ArcGis可視化DEM地形圖
    :/Rpython/lp3/hls/china0') #白化1plt.savefig('F:/Rpython/lp28/plot23.4.png',dpi=600)plt.show()註:很明顯我用的中國區域tif有問題
  • 使用ggpubr包添加p值和顯著性標記
    使用ggpubr包添加p值和顯著性標記今天我們的學習內容主要有兩個方面如何簡單比較兩組或多組的平均值如何自動化為箱線圖添加
  • 數據可視化完美指南-R-python
    作為無私的分享,如果對大家有用,請在文章中致謝他們。如果我們需要交流代碼,和誰交流呢?那必須是Yan Holtz,這位主要負責代碼部分。Conor Healys負責圖形設計工作。可視化架構# Librarieslibrary(tidyverse)## -- Attaching packages -- tidyverse 1.2.1 --## √ ggplot2 3.2.0 √ purrr 0.3.2## √ tibble 2.1.3 √ dplyr 0.8.3## √ tidyr
  • Python數據可視化,完整版實操指南 !
    另外,我添加了一個分類變量(1和0)來演示帶有分類變量的圖表的功能。mapa.csv文件包含按國家/地區分隔的受歡迎程度數據。在最後的可視化地圖時,我們會用到它。Pandas在介紹更複雜的方法之前,讓我們從可視化數據的最基本方法開始。我們將只使用熊貓來查看數據並了解其分布方式。
  • R語言可視化之UpSetR包
    作者:嚴濤簡介集合可視化我們用得最多的是韋恩圖,韋恩圖在集合數少的時候是很好用的,但是當集合數多比如五個以上的時候那就會看花眼了,比如下面這副含有#fromListlistinput <- list(one = c(1, 2, 3, 5, 7, 8, 11, 12, 13), two = c(1, 2, 4, 5,10), three = c(1, 5, 6, 7, 8, 9, 10, 12, 13))#fromExpressionexpressionInput <- c(one = 2, two = 1, three
  • R語言可視化(十八):UMAP圖繪製
    1.5 0.2 setosa## 5 5.0 3.6 1.4 0.2 setosa## 6 5.4 3.9 1.7 0.4 setosairis.data = iris[,c(1:4)]iris.labels
  • Day7:R語言課程 (R語言進行數據可視化)
    library(purrr)  # Load the purrrsamplemeans <- map_dbl(rpkm_ordered, mean) 可以將這個包含的12個元素的向量作為一列,添加到metadata數據框中,從而將平均表達量與實驗metadata相結合。cbind()或「rbind()」函數可以實現。
  • Python數據可視化
    3.Python有很多非常優秀易用的數據可視化的庫,作為入門在這裡使用Python的matplotlib,事實上Python中很多可視化庫都是基於matplotlib開發的,例如Seaborn等。>5plt.rcParams[』lines.markersize』] = 6標記大小6plt.rcParams[』lines.markeredgewidth』] = 0.5標記附近的線寬橫、縱軸:xtick、
  • 是R的圖
    ggplot(df1,aes(id,value,colour=item))+ geom_line()+ geom_point()+ scale_x_continuous(breaks = 1:10,labels = LETTERS[1:10])+ labs(title="帶標記的折線圖") #增加了散點圖geom_pointggplot
  • 信號系統實驗報告3-MATLAB的數據圖形可視化
    一、實驗目的1、掌握MATLAB數據可視化的基本命令和方法,掌握MATLAB圖形窗口的創建,以及運用.fig文件保存圖形的方法。2、掌握運用plot命令繪製二維曲線,實現數據圖形可視化的方法。3、掌握通過MATLAB圖形窗口及其屬性編輯器,對已繪製圖形對象的屬性(點色、點大小、點邊色、線色、線型、線寬、標記、標題、坐標軸、圖例、坐標格網等)進行交互式設置與編輯的方法。
  • 可視化技能之Matplotlib(下)|可視化系列02
    假設我們有如下的數據表df,表示7位用戶A~G各自在3月到12月的消費金額。現在要畫出從3月到12月用戶消費金額的排名變化。=True, labelbottom=False) c=0 for r in rs: ax.annotate('{0}'.format(yw[c]),xy=(r.get_width()-40,r.get_y()+r.get_height()/2-0.16)) ax.annotate('{0}'.format(width[c]),xy=(r.get_width(
  • Python數據可視化,完整版操作指南(建議收藏)
    另外,我添加了一個分類變量(1和0)來演示帶有分類變量的圖表的功能。mapa.csv文件包含按國家/地區分隔的受歡迎程度數據。在最後的可視化地圖時,我們會用到它。Pandas在介紹更複雜的方法之前,讓我們從可視化數據的最基本方法開始。我們將只使用熊貓來查看數據並了解其分布方式。我們要做的第一件事是可視化一些示例,查看這些示例包含了哪些列、哪些信息以及如何對值進行編碼等等。
  • 用Python進行數據可視化的第一步,全面詳解matplotlib中樣式屬性
    ",lw=2.5,label="正弦Sin()")# 拉伸並重設刻度plt.xlim(x.min()*1.5,x.max()*1.5)plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])plt.yticks
  • Python圖表繪製進階,圖例和標題你真的會添加嗎?一文講透
    在Python的圖表繪製中,圖例和標題是兩個重要的組件,尤其在繪圖區域出現多個圖形時,如果這些圖形不添加說明,那麼對於圖表受眾人員來說,就會很難識別出這些圖形中的主要內容,因此這就顯示出了圖例的重要性,因為圖例可以標記每個圖形所代表的內容;同樣,如果想讓受眾人員搞清楚繪圖區域中的內容所代表的意思,就需要為圖表添加標題。
  • 教程 | 5種快速易用的Python Matplotlib數據可視化方法
    本文將介紹 5 種數據可視化方法,並用 Python 和 Matplotlib 寫一些快速易用的可視化函數。下圖展示了選擇正確可視化方法的導向圖。選擇正確可視化方法的導向圖。散點圖由於可以直接看到原始數據的分布,散點圖對於展示兩個變量之間的關係非常有用。
  • 還在手動標記Excel單元格顏色?你該試試這三種自動標記數據方法
    利用條件格式用圖標標記但數據顏色不變選中要標記的所有單元格,然後點擊「條件格式——新建規則」:在彈出的新建格式規則窗口中,選擇「基於各自值設置所有單元格的格式」,然後選中「圖標集」,在「圖標樣式」可進行圖標自定義,有
  • 精選| 2021年10月R新包推薦
    計算方法1. gslnls : 使用GNU科學庫(GSL)實現非線性最小二乘優化的R接口.2. rsvddpd : 實現了一種使用功率密度發散計算奇異值分解的穩健方法.二.GDPuc : 提供將GDP時間序列從一個單位轉換為另一個單位的函數,包括所有通用GDP單位,即當前和固定的當地貨幣單位、通過市場匯率計算的美元和通過購買力平價計算的國際美元.十一.
  • 學術專欄 | MATLAB數據可視化
    MATLAB數據可視化R語言製圖姐妹篇——MATLAB數據可視化。有參考陳陽教授COMP110031.01 《MATLAB程序設計》的ppt,歡迎大家選課~基礎製圖 figure語句figure:創建一個新的繪圖窗口,並使其成為當前窗口。