关注http://docs.ggplot2.org/current/aes_group_order.html
h <- ggplot(Oxboys, aes(age, height))
h + geom_line(aes(group = Subject))
可生产
但是如果两个主题具有完全相同的行,则一个主题的行将隐藏另一个。我们可以使用线条粗细或强度来表示拥有相同线条的受试者数量吗?我们可以使用geom_point()添加一个气泡来指示主题数吗?
答案 0 :(得分:3)
使用geom_line(aes(group = 'Subject'), alpha = .5)
。玩弄alpha值。
答案 1 :(得分:3)
您可以通过首先映射colour
和size
美学,然后使用scale_size_manual
和scale_colour_manual
函数调整其值来完成此操作。以下是该方法的演示。
# a fake data set with two pairs of identical lines:
df <- data.frame(t = c(1:10, 1:10, 1:10, 1:10),
a = c(1:10, 1:10, seq(5, 8, length =10), seq(5, 8, length =10)),
c = rep(c("a", "b", "c", "d"), each = 10))
ggplot(df, aes(x = t, y = a, group = c)) +
geom_line(aes(size = c, colour = c)) +
scale_size_manual(values = c(4, 2, 3, 1.5)) +
scale_colour_manual(values = c("black", "red", "blue", "yellow"))
您必须考虑分组因子(在示例c
中)的排序方式,因为这些行也按此顺序绘制。因此,首先绘制的线应该为size
得到更大的值。