0
点赞
收藏
分享

微信扫一扫

贪心算法(算法竞赛、蓝桥杯)--修理牛棚

8052cf60ff5c 03-05 11:30 阅读 5

以plot函数为例,plot函数默认画出散点图,例如以下代码

# Input data for drug example
dose  <- c(20, 30, 40, 45, 60)
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)
plot(dose, drugA, type="b")
#plot一般常见参数为(x,y,type)
#type中的参数 "p"表示散点图, "l"表示线条, "b"表示同时显示散点和线条, "c"表示通过线条连接的空心点, "o"表示覆盖的散点和线条, "s"和"S"表示阶梯状线条, "h"表示类似直方图的垂直线条。"n"不生成任何点或线条。

 

 额外:par()函数

 通过函数par()来指定选项。说人话就是创建一个图形参数的副本,以便能够随时还原该图形样式,以这种方式设定的参数值除非被再次修改,否则将在会话结束前一直有效。其调用格式为:

par(optionname=value,optionname=name,...)

 不加参数地执行par()将生成一个含有当前图形参数设置的列表。添加参数no.readonly=TRUE可以生成一个可以修改的当前图形参数列表。

例如:

opar <- par(no.readonly=TRUE) # 生成一个副本
par(lty=2, pch=17)            # 改变图片参数
plot(dose, drugA, type="b")   #绘图

当我们执行原本创建的副本参数后,图片会被还原

par(opar)  #将图形参数还原
plot(dose, drugA, type="b")

常用图形设置

(一)线条和符号

例如:

plot(dose, drugA, type="b", lty=3, lwd=3, pch=15, cex=2)

(二)颜色

例如:

# 创建示例数据
data <- c(10, 20, 15, 25, 30)

# 绘制柱状图并指定填充颜色
barplot(data,col="yellow")

(三)文本属性

例如:

par(cex.axis=.75,cex.lab=0.5)

发现相对于原本的图,这里面坐标轴的标签刻度都缩小了

同时,我们也可以用font系列函数指定字体族、字号和字样

例如

par(font.axis=4,font.lab=4) #均设置为粗斜体

 (四)图形尺寸和边界尺寸

例如

par(pin=c(2, 3))

# 设置图形边缘尺寸
par(mai = c(1, 1, 1, 1))  # 设置绘图区域的边缘尺寸为1英寸,分别对应上、右、下、左边缘
par(mar = c(3, 3, 2, 2))  # 设置整个图形设备的边缘尺寸为3英寸,分别对应上、右、下、左边缘

# 绘制散点图
plot(x, y, type = "b", pch = 19, col = "blue")

 

(五)添加文本、自定义坐标轴和图例

1.可使用title()函数为图形添加标题和坐标轴标签,调用格式:

title()函数:

  • main参数用于指定主标题。
  • sub参数用于指定副标题。
  • xlab参数用于指定x轴标签。
  • ylab参数用于指定y轴标签
x <- 1:10
y <- x^2

plot(x, y, type = "b", pch = 19, col = "blue",xlab = "", ylab = "")
#定义新坐标轴名称时,原来的坐标轴名称需要变为空,否则会导致的新旧坐标轴重合
title(main = "Scatter plot of x and y",
      sub = "Relationship between x and y",
      xlab = "X values",
      ylab = "Y values")


2.可以使用函数axis()来创建自定义的坐标轴,而非使用R中的默认坐标轴,其格式为:

  1. axis()函数:
    • side参数用于指定坐标轴的位置(1:底部,2:左侧,3:顶部,4:右侧)。
    • at参数用于指定刻度线的位置。
    • labels参数用于指定刻度线的标签。
    • 其他参数如posltycollastck等可根据需要进行设

例如: 

x <- c(1:10)
y <- x
z <- 10/x
opar <- par(no.readonly=TRUE)  # make a copy of current settings
par(mar=c(5, 4, 4, 8) + 0.1)
plot(x, y, type="b",
     pch=21, col="red",
     yaxt="n", lty=3, ann=FALSE)
axis(2, at=x, labels=x, col.axis="red", las=2)
axis(4, at=z, 
     labels=round(z, digits=2),#将第二个y轴上的标签设置为z向量的四舍五入值,并将小数位数限制为两位
     col.axis="blue", las=2,#las代表旋转角度
     cex.axis=0.7, tck=-.01)

参数设置 

 

3.函数abline()可以用来为图形添加参考线,其使用格式为:

abline(h = yvalues, v = xvalues)

具体而言:

  • h参数用于指定水平参考线的位置,可以传入一个包含要绘制水平参考线位置的向量。
  • v参数用于指定垂直参考线的位置,同样可以传入一个包含要绘制垂直参考线位置的向量

 例如

x <- 1:10
y <- x^2

plot(x, y, type = "b", pch = 19, col = "blue")

# 添加水平参考线
abline(h = c(20, 40, 60), col = "red", lty = 2)

# 添加垂直参考线
abline(v = c(3, 6, 9), col = "green", lty = 3)

 4.我们可以使用函数legend()来添加图例,其使用格式为: legend(location,
title, legend, ...)

例如

x <- 1:10
y1 <- x^2
y2 <- 2*x

plot(x, y1, type = "b", pch = 19, col = "blue", ylim = c(0, max(y1, y2)))
lines(x, y2, type = "b", pch = 21, col = "red")

# 添加图例
legend("topleft", title = "Legend", legend = c("y = x^2", "y = 2x"), col = c("blue", "red")

参数设置 

 

 5.text()函数用于向绘图区域内部添加文本。它可以在指定的(x, y)坐标位置添加文本,并可以通过其他参数设置文本的颜色、大小、字体等属性

例如:

x <- 1:10
y <- x^2

plot(x, y, type = "b", pch = 19, col = "blue")

# 在指定位置添加文本
text(5, 50, "Some Text", col = "red", cex = 1.2)


6.mtext()函数用于向图形的边缘添加文本。它可以在指定边缘(上、右、下、左)的指定位置添加文本,并可以通过其他参数设置文本的颜色、大小、字体等属性。

例如

x <- 1:10
y <- x^2

plot(x, y, type = "b", pch = 19, col = "blue")

# 在右边界上方添加文本
mtext("Right Text", side = 4, line = 2, col = "red", cex = 1.2)

7.par()函数中使用图形参数 mfrow=c(nrows,ncols) 来创建按行填充的、行数为
nrows、列数为ncols的图形矩阵。另外,可以使用 mfcol=c(nrows,ncols) 按列填充矩阵

例如:

x <- 1:10
y <- x^2

# 创建按行填充的图形矩阵
par(mfrow = c(2, 2))

plot(x, y, type = "b", pch = 19, col = "blue", main = "Plot 1")
hist(x, main = "Histogram")
boxplot(x, main = "Boxplot")
barplot(x, main = "Barplot")

# 创建按列填充的图形矩阵
par(mfcol = c(2, 2))

plot(x, y, type = "b", pch = 19, col = "blue", main = "Plot 1")
hist(x, main = "Histogram")
boxplot(x, main = "Boxplot")
barplot(x, main = "Barplot")

举报

相关推荐

0 条评论