- 图形参数设置
- 添加文本、自定义坐标轴和图例
- 图形的组合
- 下列对象drugA和drugB是对两种药物5个剂量水平(dose)上的响应的病人数目,请在R studio上运行以下代码并回答问题:
dose <- c(20, 30, 40, 45, 60)
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)
(1). 运行语句plot(dose, drugA, type = "b")
,描述该语句得到的图形并模仿此语句绘制出药物B的剂量和响应人数关系图;
(2). 画出图形参数设置为lwd=3, type="b", lty=3, pch=15, cex=2, col=2的药物B的剂量和响应人数关系图,并依据图Graph parameters in R解释这些参数的含义;

- 在R中绘制图形时下列哪些指定参数为白色( )(多选题)
A. col = 1
B. col = "white"
C. col = "#FFFFFF"
D. col = rgb(1, 1, 1)
E. col = hsv(0, 0, 1) - 函数
colors()
可以返回所有可用颜色的名称,在R中查看该函数中有多少种颜色,并回答第657个颜色是什么; - R中有许多用于创建连续型颜色向量的函数,在R中运行以下语句:
install.packages("RColorBrewer")
library(RColorBrewer)
n <- 7
rainbow_color <- brewer.pal(n, "Set1")
barplot(rep(1, n), col = rainbow_color)
(1). 键入display.brewer.all()
可以得到如图brewer all,rainbow_color <- brewer.pal(n, "Set1")
中从Set1
调色板中抽取了7种用十六进制表示的颜色并返回一个向量。请模仿题目中给出的语句写出可以从BrBG
调色板中抽取7种颜色绘制条形图的语句;

(2). 键入
brewer_all <- as.matrix(brewer.pal.info)
,查看对象brewer_all
有多少个调色板,简要介绍brewer_all
中的数据信息;(3). 在R中运行以下语句:
getwd()
pdf("myfirstgraph.pdf")
n <- 11
rainbow_color <- brewer.pal(n, "Spectral")
barplot(rep(1, n), col = rainbow_color)
dev.off()
在getwd()
得到的路径中查看文件myfirstgraph.pdf,若想把该图保存为png格式并存储在当前目录下,请写出相应语句;
- 下列对象drugA和drugB是对两种药物5个剂量水平(dose)上的响应的病人数目,请在R studio上运行以下代码并回答问题:
dose <- c(20, 30, 40, 45, 60)
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)
opar <- par(no.readonly = TRUE)
par(pin=c(2, 3))
par(lwd=2, cex=1.5)
par(cex.axis=0.75, font.axis=3)
plot(dose, drugA, type = "b", pch=19, lty=2, col="red")
plot(dose, drugB, type = "b", pch=23, lty=6, col="blue", bg="green")
par(opar)
(1). par()
和plot()
都可以对图形的参数进行设置,问:他们有什么区别?(键入help(par)
可以查阅更多关于par()
的信息来回答此问);
(2). 在R studio上运行以下代码,比较与(1)中得到的图,解释参数main
,sub
,xlab
,ylab
,xlim
,ylim
;
plot(dose, drugA, type = "b", col="red", pch=2, lty=2, lwd =2,
main = "Clinical Trials for Drug A",
sub= "This is hypothetical data",
xlab = "Dosage", ylab = "Drugs Response",
xlim = c(0, 60), ylim=c(0, 70))
(3). 在R studio上运行以下代码, 比较与(2)中得到的图,解释参数ann=FALSE
与函数title()
;
plot(dose, drugA, type = "b", col="red",
pch=2, lty=2, lwd =2,
xlim = c(0, 60), ylim=c(0, 70),
ann=FALSE)
title(main = "Clinical Trials for Drug A", col.main="red", cex.main=0.85,
sub= "This is hypothetical data", col.sub="blue", cex.sub=0.70,
xlab = "Dosage", ylab = "Drugs Response", col.lab="blue", cex.lab=0.75)
(4). 在R studio上运行以下代码,解释axis()
和 mtext()
所在语句,解释参数ann = FALSE
;
x <- c(1:10)
y <- x
z <- 10/x
opar <- par(no.readonly = TRUE) #生成一个可以修改的当前图形的参数列表
par(mar=c(5, 4, 4, 8) + 0.1)
plot(x, y, type = "b",
pch=21, col="red",
yaxt="n", lty=3, ann = FALSE)
lines(x, z, type = "b", pch=22, col="blue", lty=2)
axis(2, at=x, lables=x, col.axis="red", las=2)
axis(4, at=z, lables=round(z, digits = 2),
col.axis="blue", las=2, cex.axis=0.7, tck= -.01)
mtext("y=1/x", side=4, line = 3, cex.lab=1, las=2, col="blue")
title("An example of Creative Axes",
xlab = "X values",
ylab = "Y=X")
par(opar)
(5).在R studio上运行以下代码,描述所绘图形中的元素与语句中函数和参数的关系;
opar <- par(no.readonly = TRUE)
par(lwd=2, cex=1.5, font.lab=2)
plot(dose, drugA, type="b",
pch=15, lty=1, col="red", ylim = c(1, 60),
main = "Drug A vs Drug B",
xlab = "Drug Dosage", ylab = "Drug Response")
lines(dose, drugB, type = "b",
pch=17, lty=2, col="blue")
abline(h=c(30), lwd=1.5, lty=2, col="gray")
library(Hmisc)
minor.tick(nx=3, ny=3, tick.ratio = 0.5)
legend("topleft", inset = 0.05, title="Drug Type", c("A", "B"),
lty = c(1, 2), pch = c(15,17), col=c("red", "blue"))
par(opar)
- 在R studio上运行以下代码,回答下列问题:
attach(mtcars)
opar <- par(no.readonly = TRUE)
par(fig=c(0, 0.8, 0, 0.8))
plot(wt, mpg,
xlab = "Weight", ylab = "Mileage",
pch=18, col="blue")
text(wt, mpg,
row.names(mtcars),
cex = 0.6, pos = 4, col = "red")
par(fig=c(0, 0.8, 0.55, 1), new=TRUE)
boxplot(wt, horizontal = TRUE, axes=FALSE)
par(fig=c(0.65, 1, 0, 0.8), new=TRUE)
boxplot(mpg, axes=FALSE)
mtext("Enhanced Scatterplot", side = 3, outer = TRUE, line = -3)
par(opar)
(1). 在R中,通常可以是使用text()
和mtext()
将文本添加到图形上,说明这两个函数的区别;
(2). 解释par(fig=c(0, 0.8, 0, 0.8))
、par(fig=c(0, 0.8, 0.55, 1), new=TRUE)
和par(fig=c(0.65, 1, 0, 0.8), new=TRUE)
;
attach(mtcars)
opar <- par(no.readonly = TRUE)
par(mfrow=c(2,2))
plot(wt, mpg, main = "Scatterplot of wt vs. mpg")
plot(wt, disp, main = "Scatterplot of wt vs. disp")
hist(wt, main = "Histogram of wt")
boxplot(wt, main = "Boxplot of wt")
par(opar)
(1).运行题目中和以下代码,观察得到的图形组合的差异,说明par(mfrow=c(2,2))
和par(mfcol=c(2,2))
的区别;
opar <- par(no.readonly = TRUE)
par(mfcol=c(2,2))
plot(wt, mpg, main = "Scatterplot of wt vs. mpg")
plot(wt, disp, main = "Scatterplot of wt vs. disp")
hist(wt, main = "Histogram of wt")
boxplot(wt, main = "Boxplot of wt")
par(opar)
layout(matrix(c(1, 1, 2, 3), 2, 2, byrow = TRUE))
hist(wt)
hist(mpg)
hist(disp)
(1).运行题目中和以下代码,说明参数widths
和heights
layout(matrix(c(1, 1, 2, 3), 2, 2, byrow = TRUE),
widths = c(3, 1), heights = c(1, 2))
hist(wt)
hist(mpg)
hist(disp)
网友评论