1

我有一个包含许多欧米茄值的图,我想在其中突出显示大约 40 个点。我使用的情节论点是:

plot( log( dog[ order( dog$gbm.dog ) , 8 ] ), 
     pch = ifelse( dog$refseq_mrna %in% dog_omegaplus$refseq_mrna, 2,
           ifelse( dog$refseq_mrna %in% dog_omegaminus$refseq_mrna, 12, "." ) ) )

我想让一组突出显示的点是三角形(pch = 2),另一组是正方形(pch = 12)和所有其他点(“。”)。问题是这产生的图在pch符号应该是数字的地方(特别是应该有三角形的“2”和应该有正方形的“1”)。

如何正确指定符号?

4

2 回答 2

3

这里的问题是使用“。” 将 2 和 12 强制转换为字符值。我构建了一个简单的测试用例来看看发生了什么,以及我是否能找到一个令人满意的数字名称:

x <- 1:20

 ifelse(x < 5 , 2, ifelse(x > 15, 12, "."))
 [1] "2"  "2"  "2"  "2"  "."  "."  "."  "."  "."  "."  "."  "."  "."  "."  "."  "12" "12" "12" "12"
[20] "12"

# only return integers

plot(x, pch= ifelse(x < 5 , 2, ifelse(x > 15, 12, 20)))

在此处输入图像描述

于 2014-06-24T20:12:23.257 回答
1

帮助页面?points说这pch=46相当于pch=".",因此如果您在原始代码中更改"."46,那么所有内容都将保留为数字向量,并且应该为您提供所需的内容。

于 2014-06-24T20:37:49.040 回答