r - ggplot中跨组的连续线

标签 r plot charts ggplot2 linegraph

我有一个时间序列的数据,其中一些数据被观察到,一些数据被模拟。我想随时间生成整个数据系列的图,颜色表示数据源。但是,我只能弄清楚如何在 ggplot 中使 geom_line() 连接同一组中的点。

这里有一个例子来说明:

# Create sample data
df <- data.frame(cbind(seq(1,9,1), c(1,2,3,4,5,4,3,2,1), c("obs","obs", "obs", "obs", "sim","sim","obs","sim", "obs")))
colnames(df) <- c("time", "value", "source")

# Make a plot
p <- ggplot(df, aes(x=time, y=value, group=source, color=source))
p + geom_point()  # shows all the points in sequential order as dots
p + geom_point() + geom_line() # connects obs to obs and sim to sim

在此示例中,我希望一条线从 x 轴上的 1:9 开始按顺序排列,连接所有点,但根据组更改线(和点)的颜色。

最佳答案

df <- data.frame(cbind(
                       seq(1,9,1), 
                       c(1,2,3,4,5,4,3,2,1), 
                       c("obs","obs","obs","obs","sim","sim","obs","sim","obs"),
                       c("all","all","all","all","all","all","all","all","all")))

colnames(df) <- c("time", "value", "source", "group")

ggplot(df,aes(x=time,y=value)) + 
    geom_point(aes(colour=source)) + 
    geom_path(data=df,aes(y=value,x=time,group=group,colour=source))

enter image description here

关于r - ggplot中跨组的连续线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20984793/

相关文章:

r - 连续 y 轴刻度中的真负号

r - 如何为 data.frame 的每一行调用一个函数?

c++ - 使用 RcppArmadillo 修改输入

r - 使用 grid.arrange 在 ggplot2 中精确定位多个图

javascript - 谷歌饼图( donut )悬停时外部颜色变化

r - 在嵌套数据框的列上实现 map()

Ubuntu - gnuplot 重新读取取消选择的文本

r - 将多个图形合并为一个

c# - 获取图表 X Axis 0 点处的网格线/间隔(灵活的 Axis 缩放)

javascript - Google 图表 - 第 138 行 loader.js 繁忙时出现错误