R 繪制雙坐標(biāo)軸

雙坐標(biāo)軸其實(shí)實(shí)用性并不大,而且也有文獻(xiàn)指出了他的可讀性不強(qiáng),但是由于小伙伴的需求Poesie還是去研究了關(guān)于R 繪制雙坐標(biāo)軸的內(nèi)容,一下是Poesie關(guān)于R 繪制雙坐標(biāo)軸的小小總結(jié),主要是基于R包plotrix中twoord.plot函數(shù)!

前期準(zhǔn)備

#主要的R包
library(plotrix)
#字體設(shè)置為一般投稿要求
windowsFonts(myFont = windowsFont("Times New Roman"))
#讀入文件(R包"readxl")
AA=readxl::read_xlsx("Biological process.xlsx")

AA$N=1:10
AA$N=as.numeric(AA$N)

圖片

#輸出文件tiff
tiff(
  filename = "Biological process3.tiff",#文件名
  type = "cairo", # 抗鋸齒
  res = 300, # 300ppi 分辨率
  width = 3000, height = 4500,#圖片長寬
  bg = "transparent" ,# 透明背景,
  )

#x軸坐標(biāo)標(biāo)簽旋轉(zhuǎn)
par(las=2)
#畫圖
twoord.plot(  lx = AA$N, ly = AA$Count, rx = AA$N, ry = AA$PValue,
              rcol = "red",lcol = "green",
              main = 'Biological process',
              xlab = 'Term',ylab = 'Count', rylab = 'PValue',
              xticklab=AA$Term,
              halfwidth=0.2,
              mar=c(28,5,5,5),
              type = c('bar','l'),
              do.first="plot_bg(); grid(col=\"white\",lty=1)",axislab.cex = 1)

關(guān)于上面的設(shè)置

①本圖的mar=c(28,5,5,5)設(shè)置有點(diǎn)大,可以出圖是因?yàn)閠iff中的 width 和 height 設(shè)置也很大,不在Rstudio畫布中出圖,可以根據(jù)自己畫圖和數(shù)據(jù)進(jìn)行調(diào)整
②type = c('bar','l')有個(gè)BUG,就是不能type = c('bar','bar'),只會(huì)出現(xiàn)一個(gè)柱子,被覆蓋了

增加圖例

par(xpd=TRUE,new=TRUE)
#在原來圖形的基礎(chǔ)上繪制一張空?qǐng)D
plot(0:8, 0:8, type="n", xlab="",ylab="", axes=FALSE)
#添加左坐標(biāo)軸軸圖例
legend(6, 8, leg='Count', fill=c('green'), bty = 'n')
#添加右坐標(biāo)軸軸圖例
legend(6,  7.8, leg= 'PValue',col="red" ,lty =  1,bty = 'n')
par(xpd=FALSE, new=FALSE)

關(guān)于上面的設(shè)置

前面的數(shù)字,坐標(biāo)定位,修改可以改位置
leg="圖例名稱"

輸出文件

dev.off()

擴(kuò)展補(bǔ)充——關(guān)于twoord.plot()參數(shù)

數(shù)據(jù)

lx,ly,rx,ry:分別指定左坐標(biāo)軸和右坐標(biāo)軸的值,必須是連續(xù)的值
data:需要繪制雙軸圖形的數(shù)據(jù)框

外觀

lcol,rcol:設(shè)置左右坐標(biāo)軸的顏色,這樣可以起到圖例的作用
lpch,rpch:設(shè)置左右坐標(biāo)軸圖形的外觀
halfwidth: 條形圖的寬度
axislab.cex:設(shè)置坐標(biāo)軸標(biāo)簽和刻度標(biāo)簽的大小
do.first:通過該參數(shù)可以往圖形中添加背景色或網(wǎng)格線

標(biāo)題

main:為圖形指定標(biāo)題
xlab:設(shè)置橫坐標(biāo)軸標(biāo)簽
xticklab:設(shè)置橫坐標(biāo)軸刻度標(biāo)簽
ylab:設(shè)置左坐標(biāo)軸標(biāo)簽
rylab:設(shè)置又坐標(biāo)軸標(biāo)簽

范圍限制調(diào)整

xlim:限制橫坐標(biāo)值的范圍
lylim,rylim:限制左右縱坐標(biāo)值的范圍

mar:設(shè)置圖形邊界距,默認(rèn)值為(5,4,4,4)

軸刻度標(biāo)簽的位置

lytickpos:設(shè)置左坐標(biāo)軸刻度標(biāo)簽的位置
rytickpos:設(shè)置右坐標(biāo)軸刻度標(biāo)簽的位置
xtickpos:設(shè)置橫坐標(biāo)軸刻度標(biāo)簽位置

ylab.at:設(shè)置左坐標(biāo)軸標(biāo)簽位置
rylab.at:設(shè)置右坐標(biāo)軸標(biāo)簽位置

指定圖形類型

type=c(,)
p" for points,
"l" - lines,
"b" - both,
"c" - the lines part alone of "b",
"o" - both ‘overplotted’,
"h" - ‘histogram’ like (or ‘high-density’) vertical lines,
"s" - stair steps,
"S" - other steps, see ‘Details’ below,
"n" - no plotting.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容