绘制 geom_line() 和 geom_point() - 不同长度的数据

微信

我试图在 ggplot 中绘制时间序列,以便每年的值与 geom_line() 连接,并且总数在 x 轴的最右侧显示为单独的 geom_point()。

我试图在美学中对数据进行子集化,但得到错误:

Aesthetics must be either length 1 or the same as the data (1): x, y

我也尝试使用两个不同的数据框,但得到了类似的错误。对不起,如果这是一个基本问题,但我没有找到解决方案的运气。

请参阅下面的虚拟数据集和 ggplot2 脚本。我希望最终的情节看起来像这样,但没有连接“2017”和“总计”的线,最好不必求助于在 Adob​​e Illustrator 中编辑输出!

任何帮助表示赞赏。

library(ggplot2)

##synthetic data
Year <- seq(1996,2017)
var1 <- sample(0:10,length(Year), replace=TRUE)
var2 <- sample(0:10,length(Year), replace=TRUE)
var3 <- sample(0:10,length(Year), replace=TRUE)
var4 <- sample(0:10,length(Year), replace=TRUE)
total <- c("total",sample(0:10,4, replace=TRUE))


dat <- data.frame(Year, var1,var2,var3,var4)
dat <- rbind(dat,total)


plt <- ggplot(data=dat, aes(x=Year))
plt <- plt +
    geom_point(aes(y=var1, colour = "var1")) +
    geom_point(aes(y=var2, colour = "var2")) +
    geom_point(aes(y=var3, colour= "var3")) +
    geom_point(aes(y=var4, colour = "var4")) +
    geom_line(aes(y=var1, group=1, colour = "var1")) +
    geom_line(aes(y=var2, group=1, colour="var2")) +
    geom_line(aes(y=var3, group=1, colour="var3"))+
    geom_line(aes(y=var4, group=1, colour= "var4")) +
    scale_colour_manual("",
        breaks = c("var1", "var2", "var3", "var4"),
        values = c("#d7191c","#fdae61","#abd9e9","#2c7bb6")) 
微信

解决方案我去,如通过良好的民间提供#rstats了对Twitter的

library(dplyr)
mdat <- melt(dat, id.vars = 'Year') 
ggplot(data=mdat, aes(x= (Year), y = value, col = variable, group=variable))+
  geom_point()+
  geom_line(data=filter(mdat,Year != 'total'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

绘制geom_line()+ geom_point()R

抖动geom_line和geom_point

添加geom_point和geom_line进行绘图

分别调整geom_point()和geom_line()

带有 geom_line 和 geom_ribbon 和 geom_point 的图例

ggplot2:合并geom_line,geom_point和geom_bar的图例

使用不同的变量来绘制geom_bar和geom_point的颜色/填充点(分组图)

当数据在同一列中时如何绘制 geom_line 的起点和终点

使用facet_grid和多个数据点(R ggplot2)时,将geom_point和geom_line组合

不同的色标geom_contour和geom_point

ggplot2中带有geom_line和geom_point的图例

如何使geom_line和geom_point抖动相同的幅度?

ggplot2-结合了geom_point和geom_line的图例

结合ggplot geom_point和geom_line图产生的冗余图例

ggplot:两组的geom_line和geom_point重叠顺序?

将gganimate与geom_point和geom_line一起使用

使用geom_point()和geom_line()进行多个系列的ggplot中的图例错误

使用geom_line和geom_ribbon绘制两个均值和sd的df

如何将geom_bar,geom_point和geom_line合并为一个图形?

在R中绘制geom_line和geom_ribbon时如何添加不连续点?

将 geom_line 和 geom_point 与 ggplotly 一起使用时的奇怪图例和工具提示文本

使用来自不同数据集的geom_point和geom_smooth添加图例

同一地块上的两个geom_line和geom_point

ggplot上geom_point和geom_smooth的不同颜色比例

使用 ggplot2 geom_point () 绘制二元(存在/不存在)数据

动画geom_line()崩溃为geom_point()

ggplot 将 geom_point 与 geom_line 分开的方法?

ggplot方面和条件geom_point

R geom_point和ggmap,位置