如何在ggplot2的文本注释中包含绘制符号字形?

时间:2010-09-23 17:03:08

标签: r ggplot2

我想直接在文本注释中包含散点图中使用的字形。

例如,假设我:

g <- g + geom_text(aes(x=14, y = 17, label="GOOD")) 

其中g是具有线性趋势线的散点图,在(14,17)处用“GOOD”标记。代替 “好”,我想要“X = GOOD”,其中X是散点图中使用的绘图字形(例如,空心三角形,圆形等)。这样我就可以免去传说。

2 个答案:

答案 0 :(得分:2)

为了扩展Harlan的答案,这里是汽车数据集的图表

p <- ggplot(mtcars, aes(wt, mpg)) + geom_point()

您需要添加两个注释,其技巧是设置文本的水平对齐方式以使位置对齐。

x <- 4
y <- 30
p + annotate("point", x, y) + annotate("text", x, y, label = " = GOOD", hjust = 0)

另一种方法是使用opts(legend.position = ??)将你的图例放在图中,效果大致相同。

答案 1 :(得分:1)

您可以通过使用annotate()绘制正确类型的单个点来实现此目的,并将上面的文本作为单独的annotate()旁边。{/ p>

就个人而言,听起来你正试图制作他们曾经称之为相机就绪图像的东西。在这种情况下,我建议导出为PDF并使用类似Inkspace的内容来自定义创建图形内标签。它会更简单,你有更多的灵活性,加上一个WYSIWYG界面。