溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在R語言底層作圖中如何設(shè)置坐標軸

發(fā)布時間:2021-03-11 09:23:17 來源:億速云 閱讀:616 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)在R語言底層作圖中如何設(shè)置坐標軸的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

要繪制一張賞心悅目的統(tǒng)計圖表,坐標軸的設(shè)置至關(guān)重要。在R語言底層作圖中,對坐標軸的調(diào)整主要通過調(diào)整plot函數(shù)、axis函數(shù)和title函數(shù)的一系列參數(shù)完成。

plot(x,y, ...)
axis(side,at = NULL, labels = TRUE, tick = TRUE, line = NA,
 pos= NA, outer = FALSE, font = NA, lty = "solid",
 lwd = 1, lwd.ticks = lwd, col = NULL,col.ticks = NULL,
 hadj = NA, padj = NA, ...)
title(main= NULL, sub = NULL, xlab = NULL, ylab = NULL,
 line = NA, outer = FALSE, ...)

一、plot函數(shù)的準備

在個性化設(shè)置坐標軸之前中,通常需調(diào)整plot函數(shù)中的ann、bty、xaxt、yaxt、xaxs和yaxs參數(shù):

ann取FALSE時將不會畫出標題(包括主、副標題及坐標軸標題);

bty用來設(shè)置邊框形式,默認值為"o",表示四面邊框都畫出,其余可選值包括"l"(左下)、"7"(上右)、"c"(上下左)、"u"(左下右)、"]" (上下右)和"n"(無,即不畫邊框),在很多個性化繪圖中,bty設(shè)為"n",后期的邊框線再使用其他函數(shù)(如axis)自行添加;

xaxs和yaxs 用來設(shè)置x軸和y軸的范圍,默認值取“r”,表示坐標軸比給定作圖范圍(參數(shù)xlim和ylim給出的范圍)稍微大一點兒,取”i”時表示坐標軸范圍與給定作圖范圍完全相同,另外還可取”s”、”e”、”d”;

xaxt和yaxt 取”n”時,坐標軸、刻度線以及刻度值將不會畫出。

x <- seq(-4, 4, 0.01)
y <- x^2
par(mfrow = c(2, 2), mar = c(4, 4, 1, 1))
plot(x, y) # 未作處理
plot(x, y, xaxs = "i", yaxs ="i") # 繪圖邊框未留白
plot(x, y, bty = 'l') # 只保留左和下兩條邊框
plot(x, y, ann = F, bty = "n", xaxt = "n", yaxt ="n") # 邊框、坐標軸都去掉

在R語言底層作圖中如何設(shè)置坐標軸

二、axis函數(shù)的用法

1、基本操作

side表示要操作的坐標軸,取值1、2、3、4分別代表下、左、上、右;

at表示刻度線及刻度值所在位置;

labels表示刻度值;

las表示坐標刻度值文字方向,las=0表示文字方向與坐標軸平行,1表示始終為水平方向,2表示與坐標軸垂直,3表示終為垂直方向。

x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(1, 2), mar = c(4, 4, 1, 1))
#未設(shè)置文字方向
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4)
axis(2,seq(0, 16, 4), seq(0, 16, 4))
#文字方向水平
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)

在R語言底層作圖中如何設(shè)置坐標軸

2、字體字號

cex.axis表示坐標軸刻度值的字號大小,

font.axis表示坐標軸刻度值的字體,font=1表示正體,2表示黑體,3表示斜體,4表示黑斜體。

x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(2, 2), mar = c(4, 4, 1, 1))
#未設(shè)置字體字號
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4)
#cex.axis = 2
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, cex.axis = 2)
#font.axis = 2
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, font.axis = 2)
#font.axis = 3
plot(x,y, ann = F, xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, font.axis = 3)

在R語言底層作圖中如何設(shè)置坐標軸

3、顏色

col表示圖的顏色,用在axis函數(shù)中表示坐標軸線和坐標刻度線的顏色;

col.axis表示坐標軸刻度值的顏色;

col.ticks表示坐標軸刻度線的顏色。

x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(2, 2), mar = c(4, 4, 1, 1))
#未設(shè)置顏色
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4)
#col = 2
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, col = 2)
#col.axis = 2
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, col.axis = 2)
#col.ticks = 2
plot(x,y, ann = F, bty = "n", xaxt = "n", yaxt = "n")
axis(1,-4:4, -4:4, col.ticks = 2)

在R語言底層作圖中如何設(shè)置坐標軸

4、位置

line表示坐標軸線位置與圖像邊框的距離,取負數(shù)時會畫在圖像邊框以內(nèi);

mgp默認值為c(3, 1, 0),三個數(shù)字分別代表坐標軸標題、刻度值和軸線與繪圖邊框的距離;

tcl默認值為-0.5,數(shù)值表示刻度線長度,負值表示刻度線朝外,正值朝里;

pos 表示軸線所在的位置;

line.outer取TRUE時,坐標軸將畫在畫布邊緣處;

hadj指將刻度值沿平行坐標軸方向調(diào)整的距離;

padj指將刻度值沿垂直坐標軸方向調(diào)整的距離。

x <- seq(-4, 4, 0.01)
y <- x^2
par(mfrow= c(2, 2), mar = c(4, 4, 1, 1))
# 未設(shè)置刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4)
# 使用line調(diào)整刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4, line = 2)
# 使用mgp調(diào)整刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4, mgp = c(3, 2, 0)) 
# 使用padj調(diào)整刻度值位置
plot(x, y, ann = F, xaxt = "n", yaxt ="n")
axis(1, -4:4, -4:4, padj = 1)

在R語言底層作圖中如何設(shè)置坐標軸

5、其他

tick取FALSE時,坐標軸線和刻度線不畫出;

lty表示線型,用在axis函數(shù)中表示坐標軸線型;

lwd表示線的粗細,用在axis函數(shù)中表示坐標軸線粗細;

lwd.ticks表示刻度線粗細。

三、title函數(shù)的用法

main、sub、xlab和ylab分別表示主標題、副標題、x軸標題和y軸標題;

cex.lab表示坐標軸標題的字號大?。?/p>

font.lab表示坐標軸標題的字體;

col.lab表示坐標軸標題的顏色;

其余參數(shù)和axis中用法一致。

x<- seq(-4, 4, 0.01)
y<- x^2
par(mfrow=c(2, 2), mar = c(4, 4, 1, 1))
#無標題
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4)
axis(2,seq(0, 16, 4), seq(0, 16, 4))
#使用title設(shè)置標題
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)
title(xlab= 'x', ylab = 'y')
#使用line調(diào)整位置
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)
title(xlab= 'x', ylab = 'y', line = 2)
#調(diào)整顏色字體字號
plot(x,y, ann = F, xaxt = "n", yaxt = "n") 
axis(1,-4:4, -4:4, las = 1)
axis(2,seq(0, 16, 4), seq(0, 16, 4), las = 1)
title(xlab= 'x', ylab = 'y', col.lab = 2, font.lab = 4, cex.lab = 2)

在R語言底層作圖中如何設(shè)置坐標軸

四、刻度間隔

plot函數(shù)會自動給出比較合理的刻度間隔,本質(zhì)上是調(diào)用了pretty函數(shù)。

pretty(x, n = 5, min.n = n %/% 3, shrink.sml = 0.75,
   high.u.bias = 1.5, u5.bias = .5 + 1.5*high.u.bias,
   eps.correct = 0, ...)

x是一個序列,pretty函數(shù)會先對x取一個range,然后等分為大約n+1個間隔。

如果在作圖時對系統(tǒng)自動給出的間隔不滿意,可以調(diào)整n的值,用pretty函數(shù)自定義合適的間隔。

感謝各位的閱讀!關(guān)于“在R語言底層作圖中如何設(shè)置坐標軸”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI