我有以下数据集t
:
n <- 12
t <- data.frame(
V1 = runif(n, 0.12, 0.35),
V2 = runif(n, 0.25, 0.39),
group = gl(3, 4, labels = c("a1", "a2", "a3")),
x = seq_len(n),
color = rep(rep.int(c("R", "G"), 2), c(3, 4, 3, 2))
)
我根据这些数据创建了以下图表。
p <- ggplot(t, aes(x, colour = color)) +
geom_point(aes(y = V1, size = 10)) +
geom_point(aes(y = V2, size = 10))
我现在要做的是根据组列连接点(例如,组a1
的点将用蓝线连接,组a2
的点将连接在一起一条黄线,......)我想根据V1
和V2
(V1
的虚线和V2
的正常线)来区分线。< / p>
如何做到这一点?
答案 0 :(得分:2)
首先:命名一个数据集“t”不是一个好主意,因为它有一个令人困惑,因为还有一个函数t()。
最简单的方法是先熔化()数据集
Molten <- melt(t, id.vars = c("group", "x", "color"))
ggplot(Molten, aes(x = x, y = value, colour = group, linetype = variable)) + geom_line()
查看ggplot2网站,了解如何自定义颜色。
答案 1 :(得分:0)
如果您想在不使用melt()
的情况下绘制图表:
p <-ggplot(t) + geom_line(aes(x,V2,color=group)) + geom_line(aes(x,V1,color=group), linetype = "dashed")