[英]Different plotting symbols in r scatter plot
bweight gestwks hyp sex
1 2974 38.5200004577637 0 female
2 3270 NA 0 male
3 2620 38.150001525878899 0 female
4 3751 39.799999237060497 0 male
5 3200 38.889999389648402 1 male
6 3673 40.970001220703097 0 female
我想根据妊娠期 (gestwks) 绘制婴儿体重 (bweight) 。
这是我的代码:
plot(courseworkData1$bweight ~ courseworkData1$gestwks, xlab="Gestation Period", ylab="Baby weight")
但是,我有“hyp”变量。 它简称为母体高血压。 我想绘制一个图,用不同的符号(例如正方形或其他符号)绘制患有高血压的婴儿体重。 我怎么做?
我们可以使用pch
参数来plot
以指定用于符号的变量:
适合您的数据:
创建 MRE:
courseworkData1 <- read.table(text="ID bweight gestwks hyp sex
1 2974 38.5200004577637 0 female
2 3270 NA 0 male
3 2620 38.150001525878899 0 female
4 3751 39.799999237060497 0 male
5 3200 38.889999389648402 1 male
6 3673 40.970001220703097 0 female", header=TRUE, stringsAsFactors=FALSE)
使用?pch
我们得到可用符号的列表。 然后我们只需要添加一个新变量来编码所需的密钥。 例如,如果我们想使用正方形 (key = 0) 和三角形 (key = 2):
courseworkData1$symbol_key <- ifelse(courseworkData1$hyp == 0, 0, 2)
plot(bweight ~ gestwks, data=courseworkData1,
xlab="Gestation Period", ylab="Baby weight", pch=courseworkData1$symbol_key)
legend("bottomright", title="hyp", legend = c("0", "1"), pch = c(0,2))
“如果我想将符号从普通圆形更改为深色实心圆形,将正方形更改为三角形,您会怎么做?”
R 有 25 个基于整数 1-25 的易于访问的绘图字符 (pch)。 还有其他的,但这些是常用的。 你可以从这些命令中看到它们:
# windows(7,4)
plot(-1:25, rep(0,27), pch=-1:25, cex=2, col="blue", bg="red", yaxt="n")
text(-1:25, rep(0,27), labels=-1:25, pos=1)
abline(v=c(14.5, 20.5))
mtext(text=c("Hollow symbols", "Filled symbols", "Filled symbols\nwith borders"),
side=3, at=c(6, 17.5, 23), line=-2)
对于 pch -1:14,您会得到空心符号——它们不能用颜色或背景填充。 使用col
图形参数(默认为黑色),只能用颜色完全填充符号 15 到 20。 对于符号 21 到 25,使用bg
图形参数指定颜色(默认为无),并且可以使用使用col
(默认为黑色)指定的颜色和使用lwd
(默认为 1)指定的宽度添加其他边框。 符号 15 到 18 没有边框,因此pch=16
给出的实心圆将小于pch=19
给出的实心圆,大小取决于边框的大小 ( lwd
) 和符号 ( cex
)。
因此,要获得黑色实心圆,您可以选择pch=16
或pch=19
,对于(空心)三角形,您可以选择pch=2
或pch=6
(倒置)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.