R语言绘图基础

目录

一、R语言的基本绘图函数

1、高级绘图函数

(1)plot函数

(2)其他高级绘图函数

2、低级绘图函数

 二、图形参数与图形控制

1、绘图参数

 2、图形控制

 3、图形颜色

(1)颜色名称

 (2)颜色集合

(3) 调色板

 三、页面布局与图形组合

1、用par函数布局页面

 2、用layout函数布局页面

3、同时打开多个绘图窗口


一、R语言的基本绘图函数

1、高级绘图函数

(1)plot函数

data2_1 <- read.csv('D:/mydata/chap02/data2_1.csv')
data2_1$性别 = as.factor(data2_1$性别)
attach(data2_1)   # 在内存中绑定数据框

par(mfrow=c(2, 2), mai=c(0.6, 0.6, 0.4, 0.4), cex=0.7, cex.main=1, font.main=1)

plot(R, Python, main='(a) 散点图')
plot(性别, xlab='性别', main='(b) 条形图')
plot(R~性别, main='(c) 箱线图')
plot(性别~R, main='(d) 脊形图')

R语言绘图基础_第1张图片

 

par(mfrow=c(2, 2), mai=c(0.6,0.6,0.2,0.1), cex=0.6)
model <- lm(R~Python, data=data2_1)
plot(model)

R语言绘图基础_第2张图片

 

表1_1 plot函数对应不同数据类型时绘制的图形
函数 数据类型 图形
plot() 数值 散点图
plot() 因子 条形图
plot() 一组频数表 条形图
plot() 数值、数值 散点图
plot() 因子、因子 脊形图
plot() 二维列联表 马赛克图
plot() 数值、因子 箱线图
plot() 因子、数值 带状图
plot() 数据框 散点图矩阵

(2)其他高级绘图函数

 

1_2高级绘图函数
函数 数据类型 图形
assocplot 二维列联表 关联图
barplot 数值向量;矩阵;列联表 条形图
boxplot 数值向量;矩阵;数据框 箱线图
cdplot 单一数值向量;一个对象 条件密度图
contour

数值、数值、数值

等高线图
coplot 表达式 条件图
curve 表达式 曲线
dotchart 数据向量;矩阵 点图
fourfoldplot 2*2表 四折图
1_2高级绘图函数---续表
函数 数据类型 图形
hist 数值向量 直方图
image 数值、数值、数值 色阵图
matplot 数值向量;矩阵 矩阵列图
mosaicplot 二维列联表、N维列联表 马赛克图
pairs 矩阵;数据框 矩阵散点图
persp 数值、数值、数值 三维透视图
pie 非负的数值向量;列联表 饼图
stars

矩阵;数据框

星图
stem

数值向量

茎叶图
stripchart 数值向量;数值向量列表 带状图
sunflowerplot 数值向量、因子 太阳花图
symbols

数值、数值、数值

符号图

2、低级绘图函数

2_1Graphics包中的一些低级绘图函数
函数 描述
abline 为图形添加截距为a、斜率为b的直线
arrows 在坐标点(x0,y0)和(x1,y1)之间绘制线段,并在端点处添加箭头
box 绘制图形的边框
layout 布局图形页面
legend 在坐标点(x,y)处添加图例
lines 在坐标点(x,y)之间添加直线
mtext 在图形区域的边距或区域的外部边距添加文本
points 在坐标点(x,y)处添加点
polygon 沿着坐标点(x,y)绘制多边形
polypath 绘制由一个或多个连接坐标点的路径组成的多边形
resterimaga 绘制一个或多个网络图像
rect 绘制一个左下角在(xleft,ybottom)处、右下角在(xright,ytop)处的矩形
rug 添加地毯图
segments 在坐标点(x0,y0)和(x1,y1)之间绘制线段
text 在坐标点(x,y)处添加文本
title 为图形添加标题
xspline 根据控制点(x,y)绘制x样条曲线(平滑曲线)
par(mfrow=c(1,1), mai=c(0.7, 0.7, 0.4, 0.4), cex=0.8)
set.seed(1)
x <- rnorm(200)      #产生200个服从正态分布的随机数 
y <- 1+2*x+rnorm(200)
d <- data.frame(x, y)
plot(x, y)   # 绘制散点图

R语言绘图基础_第3张图片

 

plot(x, y, xlab='x=自变量', ylab='y=因变量')  # 添加坐标轴标题
grid(col='grey60')                            # 添加网格线
axis(side=4, col.ticks='blue', lty=1)         # 绘制坐标轴
polygon(d[chull(d),], lty=6, lwd=1, col='lightgreen') # 添加多边形
points(d)                                     # 重新绘制散点图
points(mean(x), mean(y), pch=19, cex=5, col=2)# 添加均值点
abline(v=mean(x), h=mean(y), lty=2, col='gray30') # 添加均值水平线和垂直线
abline(lm(y~x), lwd=2, col=2)                 # 添加回归直线
lines(lowess(y~x, f=1/6), col=4, lwd=2, lty=6)# 添加拟合曲线
segments(-0.8, 0, -1.6, 3.3, lty=6, col='blue')# 添加线段
arrows(0.45, -2.2, -0.8, -0.6, code=2, angle=25, length=0.06, col=2) 
                                               # 添加带箭头的线段
text(-2.2, 3.5, labels=expression('拟合的曲线'), adj=c(-0.1, -0.02),col=4) 
                                               # 添加注释文本
rect(0.4, -1.6, 1.6, -3.5, col='pink', border='grey60') # 添加矩形
mtext(expression(hat(y)==hat(beta)[0]+hat(beta)[1]*x), cex=0.9, side=1,
      line=-5.3, adj=0.72)                    # 添加注释表达式
legend('topleft', legend=c('拟合的直线', '拟合的曲线'), lty=c(1, 6), 
       col=c(2, 4), cex=0.8, fill=c('red', 'blue'), box.col='grey60',
       ncol=1, inset=0.02)                    # 添加图例
title('散点图及拟合直线和曲线\n并为图形添加新的元素', 
      cex.main=0.8, font.main=4)              # 添加标题并换行,使用斜体字
box(col=4, lwd=2)                             # 添加边框 

R语言绘图基础_第4张图片

 

 二、图形参数与图形控制

1、绘图参数

data2_1 <- read.csv('D:/mydata/chap02/data2_1.csv')
par(mfrow=c(2, 2), mai=c(0.6, 0.6, 0.3, 0.2), cex=0.7, 
    cex.main=1, font.main=1)
barplot(table(data2_1$性别))
title('(a) 默认设置的条形图')

# horiz(水平摆放)、density(填充条密度)
barplot(table(data2_1$性别), horiz=TRUE, density=40, col='red', 
        xlab='频数', ylab='性别', main='(b) 修改参数后的条形图')

boxplot(R~性别, data=data2_1)
title('(c) 默认设置的箱线图')

# varwidth(箱子宽度与样本量平方根呈成比) 
boxplot(R~性别, data=data2_1, col=c('lightgreen', 'skyblue'), xlab='性别',
        ylab='R考试分数', varwidth=TRUE, main='(d) 修改参数后的箱线图')

R语言绘图基础_第5张图片

 

 2、图形控制

library(DescTools)

x <- 1:30
y <- sin(pi/10*x)
par(mfrow=c(2,3), mai=c(0.5,0.5,0.2,0.1), cex=0.8, cex.axis=0.6, 
    cex.lab=0.7, mgp=c(2,1,0), cex.main=0.8)
plot(x, y, type='p', main='(a) type="p"', font.main=2, col.main='red')
plot(x, y, tpye='b', pch=21, font.axis=3, font.lab=3, bg='lightgreen', 
     main='(b) type="b"', font.main=3)
plot(x, y, type='o', las=3, pch=0, fg='blue', col.lab='red', 
     main='(c) type="o", font.main=1')
plot(x, y, type='l', lty=2, col='blue', lwd=2, bty='l', 
     main='(d) type="l"')
plot(x, y, type='s', col='grey20', main='(e) type="s"', font.main=4)
plot(x, y, type='h', col='red', lwd=2, col.axis='red', 
     main='(f) type="h"')

R语言绘图基础_第6张图片

 3、图形颜色

(1)颜色名称

colors()   #查看R颜色名称
 [1] "white"                "aliceblue"            "antiquewhite"        
  [4] "antiquewhite1"        "antiquewhite2"        "antiquewhite3"       
  [7] "antiquewhite4"        "aquamarine"           "aquamarine1"         
 [10] "aquamarine2"          "aquamarine3"          "aquamarine4"         
 [13] "azure"                "azure1"               "azure2"              
 [16] "azure3"               "azure4"               "beige"               
 [19] "bisque"               "bisque1"              "bisque2"             
 [22] "bisque3"              "bisque4"              "black"               
 [25] "blanchedalmond"       "blue"                 "blue1"               
 [28] "blue2"                "blue3"                "blue4"               
 [31] "blueviolet"           "brown"                "brown1"              
 [34] "brown2"               "brown3"               "brown4"              
 [37] "burlywood"            "burlywood1"           "burlywood2"          
 [40] "burlywood3"           "burlywood4"           "cadetblue"           
 [43] "cadetblue1"           "cadetblue2"           "cadetblue3"          
 [46] "cadetblue4"           "chartreuse"           "chartreuse1"         
 [49] "chartreuse2"          "chartreuse3"          "chartreuse4"         
 [52] "chocolate"            "chocolate1"           "chocolate2"          
 [55] "chocolate3"           "chocolate4"           "coral"               
 [58] "coral1"               "coral2"               "coral3"              
 [61] "coral4"               "cornflowerblue"       "cornsilk"            
 [64] "cornsilk1"            "cornsilk2"            "cornsilk3"           
 [67] "cornsilk4"            "cyan"                 "cyan1"               
 [70] "cyan2"                "cyan3"                "cyan4"               
 [73] "darkblue"             "darkcyan"             "darkgoldenrod"       
 [76] "darkgoldenrod1"       "darkgoldenrod2"       "darkgoldenrod3"      
 [79] "darkgoldenrod4"       "darkgray"             "darkgreen"           
 [82] "darkgrey"             "darkkhaki"            "darkmagenta"         
 [85] "darkolivegreen"       "darkolivegreen1"      "darkolivegreen2"     
 [88] "darkolivegreen3"      "darkolivegreen4"      "darkorange"          
 [91] "darkorange1"          "darkorange2"          "darkorange3"         
 [94] "darkorange4"          "darkorchid"           "darkorchid1"         
 [97] "darkorchid2"          "darkorchid3"          "darkorchid4"         
[100] "darkred"              "darksalmon"           "darkseagreen"        
[103] "darkseagreen1"        "darkseagreen2"        "darkseagreen3"       
[106] "darkseagreen4"        "darkslateblue"        "darkslategray"       
[109] "darkslategray1"       "darkslategray2"       "darkslategray3"      
[112] "darkslategray4"       "darkslategrey"        "darkturquoise"       
[115] "darkviolet"           "deeppink"             "deeppink1"           
[118] "deeppink2"            "deeppink3"            "deeppink4"           
[121] "deepskyblue"          "deepskyblue1"         "deepskyblue2"        
[124] "deepskyblue3"         "deepskyblue4"         "dimgray"             
[127] "dimgrey"              "dodgerblue"           "dodgerblue1"         
[130] "dodgerblue2"          "dodgerblue3"          "dodgerblue4"         
[133] "firebrick"            "firebrick1"           "firebrick2"          
[136] "firebrick3"           "firebrick4"           "floralwhite"         
[139] "forestgreen"          "gainsboro"            "ghostwhite"          
[142] "gold"                 "gold1"                "gold2"               
[145] "gold3"                "gold4"                "goldenrod"           
[148] "goldenrod1"           "goldenrod2"           "goldenrod3"          
[151] "goldenrod4"           "gray"                 "gray0"               
[154] "gray1"                "gray2"                "gray3"               
[157] "gray4"                "gray5"                "gray6"               
[160] "gray7"                "gray8"                "gray9"               
[163] "gray10"               "gray11"               "gray12"              
[166] "gray13"               "gray14"               "gray15"              
[169] "gray16"               "gray17"               "gray18"              
[172] "gray19"               "gray20"               "gray21"              
[175] "gray22"               "gray23"               "gray24"              
[178] "gray25"               "gray26"               "gray27"              
[181] "gray28"               "gray29"               "gray30"              
[184] "gray31"               "gray32"               "gray33"              
[187] "gray34"               "gray35"               "gray36"              
[190] "gray37"               "gray38"               "gray39"              
[193] "gray40"               "gray41"               "gray42"              
[196] "gray43"               "gray44"               "gray45"              
[199] "gray46"               "gray47"               "gray48"              
[202] "gray49"               "gray50"               "gray51"              
[205] "gray52"               "gray53"               "gray54"              
[208] "gray55"               "gray56"               "gray57"              
[211] "gray58"               "gray59"               "gray60"              
[214] "gray61"               "gray62"               "gray63"              
[217] "gray64"               "gray65"               "gray66"              
[220] "gray67"               "gray68"               "gray69"              
[223] "gray70"               "gray71"               "gray72"              
[226] "gray73"               "gray74"               "gray75"              
[229] "gray76"               "gray77"               "gray78"              
[232] "gray79"               "gray80"               "gray81"              
[235] "gray82"               "gray83"               "gray84"              
[238] "gray85"               "gray86"               "gray87"              
[241] "gray88"               "gray89"               "gray90"              
[244] "gray91"               "gray92"               "gray93"              
[247] "gray94"               "gray95"               "gray96"              
[250] "gray97"               "gray98"               "gray99"              
[253] "gray100"              "green"                "green1"              
[256] "green2"               "green3"               "green4"              
[259] "greenyellow"          "grey"                 "grey0"               
[262] "grey1"                "grey2"                "grey3"               
[265] "grey4"                "grey5"                "grey6"               
[268] "grey7"                "grey8"                "grey9"               
[271] "grey10"               "grey11"               "grey12"              
[274] "grey13"               "grey14"               "grey15"              
[277] "grey16"               "grey17"               "grey18"              
[280] "grey19"               "grey20"               "grey21"              
[283] "grey22"               "grey23"               "grey24"              
[286] "grey25"               "grey26"               "grey27"              
[289] "grey28"               "grey29"               "grey30"              
[292] "grey31"               "grey32"               "grey33"              
[295] "grey34"               "grey35"               "grey36"              
[298] "grey37"               "grey38"               "grey39"              
[301] "grey40"               "grey41"               "grey42"              
[304] "grey43"               "grey44"               "grey45"              
[307] "grey46"               "grey47"               "grey48"              
[310] "grey49"               "grey50"               "grey51"              
[313] "grey52"               "grey53"               "grey54"              
[316] "grey55"               "grey56"               "grey57"              
[319] "grey58"               "grey59"               "grey60"              
[322] "grey61"               "grey62"               "grey63"              
[325] "grey64"               "grey65"               "grey66"              
[328] "grey67"               "grey68"               "grey69"              
[331] "grey70"               "grey71"               "grey72"              
[334] "grey73"               "grey74"               "grey75"              
[337] "grey76"               "grey77"               "grey78"              
[340] "grey79"               "grey80"               "grey81"              
[343] "grey82"               "grey83"               "grey84"              
[346] "grey85"               "grey86"               "grey87"              
[349] "grey88"               "grey89"               "grey90"              
[352] "grey91"               "grey92"               "grey93"              
[355] "grey94"               "grey95"               "grey96"              
[358] "grey97"               "grey98"               "grey99"              
[361] "grey100"              "honeydew"             "honeydew1"           
[364] "honeydew2"            "honeydew3"            "honeydew4"           
[367] "hotpink"              "hotpink1"             "hotpink2"            
[370] "hotpink3"             "hotpink4"             "indianred"           
[373] "indianred1"           "indianred2"           "indianred3"          
[376] "indianred4"           "ivory"                "ivory1"              
[379] "ivory2"               "ivory3"               "ivory4"              
[382] "khaki"                "khaki1"               "khaki2"              
[385] "khaki3"               "khaki4"               "lavender"            
[388] "lavenderblush"        "lavenderblush1"       "lavenderblush2"      
[391] "lavenderblush3"       "lavenderblush4"       "lawngreen"           
[394] "lemonchiffon"         "lemonchiffon1"        "lemonchiffon2"       
[397] "lemonchiffon3"        "lemonchiffon4"        "lightblue"           
[400] "lightblue1"           "lightblue2"           "lightblue3"          
[403] "lightblue4"           "lightcoral"           "lightcyan"           
[406] "lightcyan1"           "lightcyan2"           "lightcyan3"          
[409] "lightcyan4"           "lightgoldenrod"       "lightgoldenrod1"     
[412] "lightgoldenrod2"      "lightgoldenrod3"      "lightgoldenrod4"     
[415] "lightgoldenrodyellow" "lightgray"            "lightgreen"          
[418] "lightgrey"            "lightpink"            "lightpink1"          
[421] "lightpink2"           "lightpink3"           "lightpink4"          
[424] "lightsalmon"          "lightsalmon1"         "lightsalmon2"        
[427] "lightsalmon3"         "lightsalmon4"         "lightseagreen"       
[430] "lightskyblue"         "lightskyblue1"        "lightskyblue2"       
[433] "lightskyblue3"        "lightskyblue4"        "lightslateblue"      
[436] "lightslategray"       "lightslategrey"       "lightsteelblue"      
[439] "lightsteelblue1"      "lightsteelblue2"      "lightsteelblue3"     
[442] "lightsteelblue4"      "lightyellow"          "lightyellow1"        
[445] "lightyellow2"         "lightyellow3"         "lightyellow4"        
[448] "limegreen"            "linen"                "magenta"             
[451] "magenta1"             "magenta2"             "magenta3"            
[454] "magenta4"             "maroon"               "maroon1"             
[457] "maroon2"              "maroon3"              "maroon4"             
[460] "mediumaquamarine"     "mediumblue"           "mediumorchid"        
[463] "mediumorchid1"        "mediumorchid2"        "mediumorchid3"       
[466] "mediumorchid4"        "mediumpurple"         "mediumpurple1"       
[469] "mediumpurple2"        "mediumpurple3"        "mediumpurple4"       
[472] "mediumseagreen"       "mediumslateblue"      "mediumspringgreen"   
[475] "mediumturquoise"      "mediumvioletred"      "midnightblue"        
[478] "mintcream"            "mistyrose"            "mistyrose1"          
[481] "mistyrose2"           "mistyrose3"           "mistyrose4"          
[484] "moccasin"             "navajowhite"          "navajowhite1"        
[487] "navajowhite2"         "navajowhite3"         "navajowhite4"        
[490] "navy"                 "navyblue"             "oldlace"             
[493] "olivedrab"            "olivedrab1"           "olivedrab2"          
[496] "olivedrab3"           "olivedrab4"           "orange"              
[499] "orange1"              "orange2"              "orange3"             
[502] "orange4"              "orangered"            "orangered1"          
[505] "orangered2"           "orangered3"           "orangered4"          
[508] "orchid"               "orchid1"              "orchid2"             
[511] "orchid3"              "orchid4"              "palegoldenrod"       
[514] "palegreen"            "palegreen1"           "palegreen2"          
[517] "palegreen3"           "palegreen4"           "paleturquoise"       
[520] "paleturquoise1"       "paleturquoise2"       "paleturquoise3"      
[523] "paleturquoise4"       "palevioletred"        "palevioletred1"      
[526] "palevioletred2"       "palevioletred3"       "palevioletred4"      
[529] "papayawhip"           "peachpuff"            "peachpuff1"          
[532] "peachpuff2"           "peachpuff3"           "peachpuff4"          
[535] "peru"                 "pink"                 "pink1"               
[538] "pink2"                "pink3"                "pink4"               
[541] "plum"                 "plum1"                "plum2"               
[544] "plum3"                "plum4"                "powderblue"          
[547] "purple"               "purple1"              "purple2"             
[550] "purple3"              "purple4"              "red"                 
[553] "red1"                 "red2"                 "red3"                
[556] "red4"                 "rosybrown"            "rosybrown1"          
[559] "rosybrown2"           "rosybrown3"           "rosybrown4"          
[562] "royalblue"            "royalblue1"           "royalblue2"          
[565] "royalblue3"           "royalblue4"           "saddlebrown"         
[568] "salmon"               "salmon1"              "salmon2"             
[571] "salmon3"              "salmon4"              "sandybrown"          
[574] "seagreen"             "seagreen1"            "seagreen2"           
[577] "seagreen3"            "seagreen4"            "seashell"            
[580] "seashell1"            "seashell2"            "seashell3"           
[583] "seashell4"            "sienna"               "sienna1"             
[586] "sienna2"              "sienna3"              "sienna4"             
[589] "skyblue"              "skyblue1"             "skyblue2"            
[592] "skyblue3"             "skyblue4"             "slateblue"           
[595] "slateblue1"           "slateblue2"           "slateblue3"          
[598] "slateblue4"           "slategray"            "slategray1"          
[601] "slategray2"           "slategray3"           "slategray4"          
[604] "slategrey"            "snow"                 "snow1"               
[607] "snow2"                "snow3"                "snow4"               
[610] "springgreen"          "springgreen1"         "springgreen2"        
[613] "springgreen3"         "springgreen4"         "steelblue"           
[616] "steelblue1"           "steelblue2"           "steelblue3"          
[619] "steelblue4"           "tan"                  "tan1"                
[622] "tan2"                 "tan3"                 "tan4"                
[625] "thistle"              "thistle1"             "thistle2"            
[628] "thistle3"             "thistle4"             "tomato"              
[631] "tomato1"              "tomato2"              "tomato3"             
[634] "tomato4"              "turquoise"            "turquoise1"          
[637] "turquoise2"           "turquoise3"           "turquoise4"          
[640] "violet"               "violetred"            "violetred1"          
[643] "violetred2"           "violetred3"           "violetred4"          
[646] "wheat"                "wheat1"               "wheat2"              
[649] "wheat3"               "wheat4"               "whitesmoke"          
[652] "yellow"               "yellow1"              "yellow2"             
[655] "yellow3"              "yellow4"              "yellowgreen"    
head(colors(), 5);tail(colors(), 5) # 查看前5种和后5种颜色
[1] "white"         "aliceblue"     "antiquewhite"  "antiquewhite1" "antiquewhite2"
[1] "yellow1"     "yellow2"     "yellow3"     "yellow4"     "yellowgreen"

 

x <- 1:10   # 生成1~10的等差数列
a <- c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J')  # 生成标签向量
par(mfrow=c(1,2), mai=c(0.4,0.4,0.2,0.2), cex=0.8, 
    cex.axis=0.7, cex.lab=0.8, mgp=c(2,1,0), cex.main=0.8) # 图形参数设置
barplot(x, names=a, col=c('red','green'))   # 循环使用2种颜色
barplot(x, names=a, col=1:7)  # 重复使用颜色1:7

R语言绘图基础_第7张图片

 

 (2)颜色集合

par(mfrow=c(2,4), mai=c(0.3,0.3,0.2,0.1), cex=0.7, 
    mgp=c(1,1,0), cex.axis=0.7, cex.main=0.8)
x <- 1:10
a <- c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J')
barplot(x, names=a, col=rainbow(10), main='col=rainbow()')
barplot(x, names=a, col=rainbow(10,start=0.4,end=0.5), 
        main='col=rainbow(start=0.4,end=0.5')
barplot(x, names=a, col=heat.colors(10), 
        main='col=heat.colors()')
barplot(x, names=a, col=terrain.colors(10), 
        main='col=terrain.colors()')
barplot(x, names=a, col=topo.colors(10), 
        main='col=topo.colors()')
barplot(x, names=a, col=cm.colors(10), 
        main='col=cm.colors()')
barplot(x, names=a, col=gray.colors(10), 
        main='col=gray.colors()')
barplot(x, names=a, col=colors(256), 
        main='col=colors(256)')

R语言绘图基础_第8张图片

 

(3) 调色板

library(RColorBrewer)
layout(matrix(c(1,1,2,3), nrow=2, ncol=2), widths=c(2,1)) # 页面布局
par(mai=c(0.1,0.4,0.2,0.1), cex=0.6, cex.main=1)  # 图形参数设置
display.brewer.all(type='all')    # 展示全部
title(main='(a) 全部')            # 添加标题
display.brewer.all(type='qual')   # 展示离散型部分
title(main='(b) 离散型部分')
display.brewer.all(type='div')
title(main='(c) 极端值部分')

R语言绘图基础_第9张图片

 

library(RColorBrewer)
par(mfrow=c(1,3), mai=c(0.1,0.3,0.1,0.1), cex=0.6, cex.main=0.8)
palette1 <- brewer.pal(7, 'Reds') # 7种颜色的红色连续型调色板
palette2 <- brewer.pal(7, 'Set1') # 7种颜色的离散型调色板
palette3 <- brewer.pal(7, 'RdBu') # 7种颜色的红蓝色极端调色板
barplot(1:7, col=palette1)
title(main='(a) 红色连续型调色板')
barplot(1:7, col=palette2)
title(main='(b) 离散型调色板')
barplot(1:7, col=palette3)
title(main='(c) 极端值调色板')

R语言绘图基础_第10张图片

par(mfrow=c(1,1))
barplot(1:7, col=rev(brewer.pal(7, 'Reds'))) # rev函数可以反向排列

 R语言绘图基础_第11张图片

 三、页面布局与图形组合

1、用par函数布局页面

par(mfrow=c(2,2), mai=c(0.5,0.5,0.3,0.1), cex=0.7, 
    mgp=c(2,1,0), cex.axis=0.8, cex.main=0.8)
set.seed(123)   # 设置随机数种子
x <- rnorm(100) # 生成100个标准正态分布随机数
y <- rexp(100)  # 生成100个指数分布随机数
plot(x, y, col=sample(c('black','red','blue'), 100, replace=TRUE), 
     main='(a) 散点图')
boxplot(x, y, col=2:3, main='(b) 箱线图')
hist(x, col='orange1', ylab='y', main='(c) 直方图')
barplot(runif(5,10,20), col=2:6, main='(d) 条形图')

R语言绘图基础_第12张图片

 2、用layout函数布局页面

# 2行2列的图形矩阵,第2行为1幅图
layout(matrix(c(1,2,3,3), nrow=2, ncol=2, byrow=TRUE), heights=c(2,1))
layout.show(3)

 R语言绘图基础_第13张图片

 

# 2行2列的图形矩阵,第2列为1幅图
layout(matrix(c(1,2,3,3), nrow=2, ncol=2), heights=c(2,1))
layout.show(3)

R语言绘图基础_第14张图片

 注:矩阵中非0数字代表绘制图形的顺序,相同数字代表占位符;

        ”0”代表空缺,不绘制图形;

       widths=c(2,1)设置列的宽度比例为2和1;heights=c(1,2)设置行的高度比例为1和2;

       nrow和ncol是声明行和列各有多少图层

# 2行3列的图形矩阵,第2行为3幅图
layout(matrix(c(1,1,1,2,3,4),nrow=2,ncol=3,byrow=TRUE), widths = c(3:1), heights = c(2,1))
layout.show(4)

R语言绘图基础_第15张图片

 

# 3行3列的图形矩阵,第2行为2幅图
layout(matrix(c(1,2,3,4,5,5,6,7,8),3,3,byrow=T), widths = c(2:1), heights = c(1:1))
layout.show(8)

R语言绘图基础_第16张图片

 

set.seed(12)       #set.seed()函数为保证随机产生的随机数前后一致
x <- rnorm(100)    #产生100个标准正态分布的随机数
y <- rexp(100)     #产生100个指数分布的随机数
layout(matrix(c(1,2,3,4,5,5,6,7,8),3,3,byrow=T), widths = c(2:1), heights = c(1:1))
par(mai=c(0.3,0.3,0.2,0.1), cex.main=0.9)
barplot(runif(8,1,8),col=2:7,main='(a) 条形图')
pie(1:12, col=rainbow(6), labels='', border=NA, main='(b) 饼图')
qqnorm(y, col=1:7, pch=19, xlab='', ylab='',main='(c) Q-Q图')
plot(x, y, pch=19, col=c(1,2,4), xlab='', ylab='', main='(d) 散点图')
plot(rnorm(25), rnorm(25), cex=(y+2), col=2:4, lwd=2, xlab='', ylab='', main='(e) 气泡图')
plot(density(y), col=4, lwd=1, xlab='', ylab='', main='(f) 核密度图')
hist(rnorm(1000), col=3, xlab='', ylab='', main='(g) 直方图')
boxplot(x, col=2, main='(h) 箱线图')

R语言绘图基础_第17张图片

 

3、同时打开多个绘图窗口

x <- rnorm(1000)  # 生成1000个标准正态分布的随机数
hist(x, col = 3, xlab = '', ylab = '', main = '直方图') # 绘制直方图

R语言绘图基础_第18张图片

 

# dev.new()     # 打开一个新的绘图窗口,关闭绘图窗口使用dev.off()
plot(density(x), xlab = '', ylab = '', main = '核密度图') # 绘制核密度图

R语言绘图基础_第19张图片

 

你可能感兴趣的:(r语言)