从vcd包中的ternaryplot的id_just标志中有哪些单词

时间:2013-12-13 17:32:40

标签: r

id_flag帮助部分仅说c("center", "center")。我试图弄清楚如何将标签放在代表数据点的点上方。就像目前一样,它们位于下方并与外部标签重叠,使其无法读取。

feldspars <- data.frame(or=c(41, 94), Al=c(53, 4.6), An=c(4.3,0.7))
ternaryplot( feldspars, 
         scale = 100, 
          pch = 19, 
         cex = 0.4, 
        dimnames = c("Orthoclase", "Albite", "Anorthite"),
        labels = c("outside"),
        main = "Feldspars: Samples 24b and 41",
        id = c("MS-13-24b", "MS-14-41"),
        id_just = c("right", "center")
      )

有什么想法吗?我试过了右,左,上,下,上,下,这些话都失败了。我用谷歌搜索了手册,我甚至尝试找到代码。

先谢谢。

2 个答案:

答案 0 :(得分:1)

id:s的基本位置(即在点下)似乎是硬编码的。如果您在R控制台中键入ternaryplot,则会看到代码:
function (x, scale = 1, dimnames = NULL, dimnames_position = c("corner",

...lots of code...

在上一个grid.text部分中,您发现id_just用作just参数的值:

if (!is.null(id)) grid.text(x = xp, y = unit(yp + 0.015, "snpc") - 0.5 * size, label = as.character(id), just = id_just, gp = gpar(col = id_color, cex = cex))

要获得比?ternaryplot的{​​{1}}可能值id_just更好的描述,请参阅?grid.text

如果您将-中的“y = unit(yp - 0.015, "snpc")”更改为“+”,请保存已编辑的功能并将id_just设置为c("left", "bottom")标签像这样: enter image description here

答案 1 :(得分:0)

指向Henrik的辛勤工作:

 ?grid::grid.text

“文本相对于其(x,y)位置的合理性。如果有两个值,则第一个值指定水平对齐,第二个值指定垂直对齐。可能的字符串值为:”left“,”right“ “,”“center”,“center”,“bottom”和“top”。对于数值,0表示左对齐,1表示右对齐。“