繁体   English   中英

根据特定的列值连接ggplot中的点

[英]connect points in ggplot based on specific column values

我有以下数据集叫做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点将以黄线连接,......)我想要根据行是不同的V1V2 (为虚线V1和法线V2 )。

怎么做到这一点?

首先:命名一个数据集“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网站上如何自定义颜色。

如果您想在不使用melt()情况下绘制图形:

p <-ggplot(t) + geom_line(aes(x,V2,color=group)) + geom_line(aes(x,V1,color=group), linetype = "dashed")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM