ggplot2指南/形状上的传奇

时间:2013-07-18 01:21:01

标签: r ggplot2 legend shapes

我有以下脚本的情节。

require(ggplot2)

df.shape <- data.frame(
AX = runif(10),
AY = runif(10),
BX = runif(10, 2, 3),
BY = runif(10, 2, 3)
)

p <- ggplot(df.shape)
p <- p + geom_point(aes(x = AX, y = AY, shape = 15)) + 
    geom_point(aes(x = BX, y = BY, shape = 19)) + 
    scale_shape_identity() + 
    guides(shape = guide_legend(override.aes = list(shape = 15, shape = 19)) )
print(p)

这不会产生图例,描述哪个形状为“A”,哪个形状为“B”。请注意,正方形和圆形可能彼此接近,因此我通常无法根据位置定义变量。如何显示“形状”图例?

1 个答案:

答案 0 :(得分:3)

我会使用reshape

以长格式重塑我的数据
dt <- reshape(df.shape ,direction='long', varying=list(c(1, 3), c(2, 4)),
        ,v.names = c('X','Y'), times = c('A','B'))

然后我就像这样绘制它

 ggplot(dt) +
     geom_point(aes(x = X, y = Y, shape = time),size=5) +
     scale_shape_manual(values=c(15,19))

enter image description here