我有两个相等长度的数字向量.如何在第二个向量中使用相应元素作为打印字符时绘制第一个向量?(背景:我对第一列进行了排序,第二列保存了原始索引.我想使用索引作为可打印字符,以便我可以看到哪些数据点是异常值,因为每个数字代表一次数据运行).
> x
$x
[1] 25 29 30 34 38 572 700 733 870 879 899 934 982 1054 1135 1258
[17] 1315 1491 1685 1700 2069 2131 2284 3498 3506 4467 4656 5633 6642 8348
$ix
[1] 23 3 18 30 13 8 4 14 11 17 12 29 9 15 19 16 7 1 20 2 6 28 21 10 5 22 24 26
[29] 25 27
Run Code Online (Sandbox Code Playgroud)
第一个向量是x $ x,第二个向量是x $ ix(使用index.return = TRUE调用sort的结果)
我已经尝试过绘图(x $ x,pch = str(x $ ix))但是用数字处理x $ ix.如果这是Python,我会做类似strings = [str(x)for x in x $ ix]的东西.但这是R,我忘记了我以前知道的大部分内容.
我发现你可以做as.character(x $ ix)来获取字符串,
> as.character(x$ix)
[1] "23" "3" "18" "30" "13" "8" "4" "14" "11" "17" "12" "29" "9" "15" "19" "16"
[17] "7" "1" "20" "2" "6" "28" "21" "10" "5" "22" "24" "26" "25" "27"
Run Code Online (Sandbox Code Playgroud)
我可以用它作为pch的输入.但只使用了第一个字符(根据文档,这是正常的).
我知道有办法做到这一点; 我是在大学里做的.但我不能为我的生活记住我是如何做到的.
没有标签的图表: 替代文字http://i47.tinypic.com/2aep88.png
带有标签的图表,但不正确: 替代文字http://i50.tinypic.com/2cicxtu.png
dou*_*oug 10
这应该工作:
x = 1:4
y = x
plot(x, y, ann=F, axis=F, col="blue", pch=16)
text(x, y, labels=c("1st", "2nd", "3rd", "4th"), col="red", pos=c(3,4,4,1), offset=0.6)
Run Code Online (Sandbox Code Playgroud)
只需将非数据向量(包含标签的向量)转换为字符向量:labels = as.character(label_vector)
然后将其替换为上面第4行中的第三个参数.
'Text'功能相当通用,因为您可以传入各种参数 - 例如,(如上例所示)您可以使用"col"将文本设置为与数据点不同的颜色; 您还可以分别为每个文本标签指定位置(相对于由给定文本标签注释的数据点).例如,保持文本标签与其中一个轴重叠通常很有用,这就是我第一次运行这个例子而没有设置'pos'时发生的事情.因此,通过设置'pos'(作为c(3,4,4,1)),我将文本标签的位置设置为"上方","右侧","右侧"和"下方" - 移动第一个数据向上指向它不会击中底部的x轴,并向下移动第四个因此它不会击中顶部的x轴.此外,使用"偏移"(默认值为0.5),您可以指定位置调整的大小.
| 归档时间: |
|
| 查看次数: |
8392 次 |
| 最近记录: |