一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - R語(yǔ)言 - R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

2022-01-07 15:04zx403413599 R語(yǔ)言

這篇文章主要介紹了R語(yǔ)言ggplot2包之坐標(biāo)軸詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

引言

我們還可以對(duì)圖形中的坐標(biāo)軸進(jìn)行處理,包括x、y軸對(duì)換、設(shè)定坐標(biāo)軸范圍、刻度線修改與去除等等。要想對(duì)圖形玩得轉(zhuǎn),坐標(biāo)軸處理精通不可或缺。

 

坐標(biāo)軸對(duì)換

我們使用coord_flip()函數(shù)來(lái)對(duì)換坐標(biāo)軸。

library(ggplot2)
library(gcookbook)
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot()
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip()

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

置換x、y軸時(shí)有時(shí)候會(huì)導(dǎo)致某一坐標(biāo)軸的坐標(biāo)被逆轉(zhuǎn)。比如說(shuō)原x軸的數(shù)據(jù)是從左往右閱讀的,在對(duì)換后,原來(lái)數(shù)據(jù)會(huì)從下往上給呈現(xiàn)。有時(shí)這是個(gè)問(wèn)題。如果x是因子,我們可以對(duì)其用帶參數(shù)limits=rev(levels(…))的函數(shù)scale_x_discrete()進(jìn)行修正。

如果是連續(xù)變量,我們可以使用函數(shù)scale_y_reverse 或者scale_x_reverse來(lái)逆轉(zhuǎn)坐標(biāo)軸。

如果我們想改變分類變量的顯示順序,可以設(shè)置scale_x_discrete() or scale_y_discrete()函數(shù)就行。

#因子坐標(biāo)軸
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + coord_flip() +
scale_x_discrete(limits=rev(levels(PlantGrowth$group)))
#連續(xù)變量的逆轉(zhuǎn)
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() + scale_y_reverse()
#改變分類變量順序
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot()+scale_x_discrete(limits=c("trt1","ctrl","trt2"))


R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

 

設(shè)置x,y軸的連續(xù)變量范圍

我們可以使用xlim()和ylim設(shè)置x、y軸的最大最小值。

p <- ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot()
p + ylim(0, max(PlantGrowth$weight))
#ylim()是對(duì)scale_y_continuous()的快速實(shí)現(xiàn)。
#其中breaks用來(lái)控制刻度。
p + scale_y_continuous(limits=c(0, 10), breaks=NULL)

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

 

設(shè)置x、y軸刻度相對(duì)比例

我們可以設(shè)置x、y軸刻度的相對(duì)比例,可以是1:1,即一致的長(zhǎng)度。也可以讓其中一個(gè)軸的刻度變得更長(zhǎng)一些,或者說(shuō)兩個(gè)刻度線之間的距離更大一些。

sp <- ggplot(marathon, aes(x=Half,y=Full)) + geom_point()
#1:1
sp + coord_fixed() +
scale_y_continuous(breaks=seq(0, 420, 30)) +
scale_x_continuous(breaks=seq(0, 420, 30))
#1:2 x軸刻度長(zhǎng)度比y軸刻度長(zhǎng)度
sp + coord_fixed(ratio=1/2) +
scale_y_continuous(breaks=seq(0, 420, 30)) +
scale_x_continuous(breaks=seq(0, 420, 15))

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

 

設(shè)置刻度線的位置

ggplot()函數(shù)對(duì)處理刻度線位置非常擅長(zhǎng),只要改變刻度的間隔即可(這里的刻度線指的是大刻度線)。

如果坐標(biāo)軸上變量是連續(xù)變量,則不會(huì)出現(xiàn)小刻度線。

#連續(xù)變量
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() +
scale_y_continuous(breaks=c(4, 4.25, 4.5, 5, 6, 8))
#看到?jīng)]有,刻度線位置已經(jīng)按照breaks設(shè)置的參數(shù)改變了
#如果是離散變量,則使用scale_x_discrete函數(shù)
#通過(guò)limit函數(shù)來(lái)控制標(biāo)簽的個(gè)數(shù)和順序
ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() +
scale_x_discrete(limits=c("trt2", "ctrl"))

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

 

去除刻度線、刻度標(biāo)簽和網(wǎng)格線

如果想去除刻度標(biāo)簽,我們使用theme(axis.text.y = element_blank())(如果針對(duì)x,參數(shù)y改成x即可。

如果想去除刻度線,在theme函數(shù)中使用axis.ticks.y = element_blank(),如果x、y軸都想去除axis.ticks.y改成axis.ticks即可。

有時(shí)候網(wǎng)格線讓整個(gè)圖畫顯得復(fù)雜,我們也可以對(duì)此進(jìn)行去除。breaks的參數(shù)值設(shè)為NULL就行了。

p <- ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot()
#去除刻度標(biāo)簽
p + theme(axis.text.y = element_blank())
#去除刻度線
p + theme(axis.ticks.y = element_blank(), axis.text.y = element_blank())
#去除網(wǎng)格線
p + scale_y_continuous(breaks=NULL)

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

 

改變刻度標(biāo)簽的內(nèi)容和顯示效果

我們不僅可以改變刻度標(biāo)簽的位置,還可以對(duì)標(biāo)簽內(nèi)容進(jìn)行修改。

hwp <- ggplot(heightweight, aes(x=ageYear, y=heightIn)) +
geom_point()
hwp + scale_y_continuous(breaks=c(50, 56, 60, 66, 72),
labels=c("Tiny", "Really\nshort", "Short",
"Medium", "Tallish"))
#值得注意的是,若標(biāo)簽太長(zhǎng),可以用\n將文本放到下一行進(jìn)行顯示

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

為了改變刻度標(biāo)簽的顯示效果,我們可以在theme函數(shù)中設(shè)置element_text參數(shù)中angle的值。

bp <- ggplot(PlantGrowth, aes(x=group, y=weight)) + geom_boxplot() +
scale_x_discrete(breaks=c("ctrl", "trt1", "trt2"),
labels=c("Control", "Treatment 1", "Treatment 2"))
#垂直顯示
bp + theme(axis.text.x = element_text(angle=90, hjust=1, vjust=.5))
#換個(gè)角度顯示,angle是控制刻度標(biāo)簽顯示的角度
bp + theme(axis.text.x = element_text(angle=30, hjust=1, vjust=1))
#hjust和vjust是為了控制刻度標(biāo)簽在水平方向和垂直方向的位置

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解 R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

 

改變坐標(biāo)軸標(biāo)簽內(nèi)容

剛才改變的是刻度標(biāo)簽,我們有時(shí)還想改變各個(gè)坐標(biāo)軸中標(biāo)簽內(nèi)容。

hwp + xlab("Age in years") + ylab("Height in inches")#hwp在上面例子中已經(jīng)定義過(guò)
#你也可以這么改,兩者等價(jià)
hwp + labs(x = "Age in years", y = "Height in inches")

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

我們也可以去除各個(gè)坐標(biāo)軸標(biāo)簽。

hwp+ theme(axis.title.x=element_blank())

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

改變坐標(biāo)軸標(biāo)簽的顯示效果也同樣方便。

hwp + ylab("Height\n(inches)") +
theme(axis.title.y=element_text(angle=90, face="italic", colour="darkred",
size=14))
#這也同樣適用于改變刻度線標(biāo)簽的字體、顏色大小。

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

 

使用對(duì)數(shù)坐標(biāo)軸

我們也可以把坐標(biāo)軸改變成對(duì)數(shù)坐標(biāo)軸形式,使用scale_x_log10() scale_y_log10()。

library(MASS)
p <- ggplot(Animals, aes(x=body, y=brain, label=rownames(Animals))) +
geom_text(size=3)
#只顯示標(biāo)簽線
p + scale_x_log10() + scale_y_log10()

R語(yǔ)言ggplot2包之坐標(biāo)軸詳解

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/zx403413599/article/details/47208883

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费在线观看日韩 | 亚洲欧美综合区自拍另类 | 久久足恋网 | 大陆男同志gayxxx | 日本一区二区三区久久精品 | 国产亚洲欧美日韩综合综合二区 | 996免费视频国产在线播放 | 日本中文字幕永久在线 | 成人伊人青草久久综合网破解版 | 欧美va天堂va视频va在线 | 搞逼综合网| 久久人妻熟女中文字幕AV蜜芽 | 亚洲精品有码在线观看 | 国产亚洲精aa在线观看香蕉 | 奇米影视久久 | 日韩国产成人精品视频人 | 免费在线视频网站 | 插得爽| 四虎小视频 | 免费观看俄罗斯特黄特色 | 99久久精品国产免看国产一区 | 日本高清va不卡视频在线观看 | 波多野结衣 在线播放 | 91久久国产露脸精品 | 国产资源免费观看 | pregnantsexxx临盆孕妇 | 手机看片国产免费久久网 | 亚洲精品黄色 | 亚洲10p | www黄| 日本高清全集免费观看 | 2012手机在线中文字幕 | 2021国产麻豆剧传媒剧情最新 | 国产综合成人久久大片91 | 国产亚洲精品看片在线观看 | 884aa草莓视频| 91精品国产综合久久精品 | 亚洲美女爱爱 | 成人免费体验区福利云点播 | 91制片厂制作传媒破解版免费 | 日韩一卡2卡3卡新区网站 |