使用ggplot2在同一图中绘制不同年份的两条线

特德比乌斯

我试图在折线图中比较奥巴马的第一年批准率和特朗普的第一年批准率。

这里的麻烦是我使用了两年的奥巴马(2009)和特朗普(2017)。似乎无法弄清楚该如何解决...

rating_comparison %>%
  ggplot(aes(endDate, rating, group = 1)) +
  geom_line(data = filter(rating_comparison, 
                          endDate > "2017-01-28",
                          type == "Overall.A")) +
  geom_line(data = filter(rating_comparison, 
                          president == "Obama" &
                            endDate > "2009-01-25" &
                            endDate < "2010-01-24",
                          type == "Overall.A")) 

在此处输入图片说明

尼尔夫斯

我将从您的代码中假设数据看起来像这样:

president   startDate    endDate  rating       type
    Obama  2017-01-17 2017-01-19      59  Overall.A
    Trump  2017-01-25 2017-01-27      42  Overall.A

我还假定日期列的类型为Date如果没有,请使用类似以下的方法转换它们:

rating_comparison$endDate <- as.Date(rating_comparison$endDate, "%Y-%m-%d")

一种方法是由总统将每个日期转换为“自第一次约会以来的天数”。然后绘制等级与天的关系。当然,这是假定“第一次约会”在某种程度上是可比较的-我假设它们等于每个总统任期的第一次投票日。

例如,要按总统上色,限于前365天:

library(dplyr)
library(ggplot2)
rating_comparison %>% 
  filter(type == "Overall.A") %>%
  group_by(president) %>% 
  mutate(Day = as.numeric(endDate - min(endDate))) %>% 
  ungroup() %>% 
  filter(Day <= 365) %>% 
  ggplot(aes(Day, rating)) + 
    geom_line(aes(color = president))

我从网上获取了一些盖洛普数据,这些数据与您的相似但不相同,以获得以下结果:

在此处输入图片说明

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用ggplot2在两条线之间绘制密度图?

在ggplot图中绘制两条线

使用R使用ggplot2画两条线并放下一条线

R - ggplot 根据日期在同一图表上绘制两条线

ggplot2绘制两条线之间的角度

使用ggplot在一张图中为带有不同标签的分组数据绘制两条线图

使用绘图词典在同一图形上绘制两条线

为来自不同数据框但在同一图中的两条线分配相同的自定义颜色

ggplot2 每组仅包含一个观察值——在一张图上绘制两条线

使用lineplot用seaborn绘制两条线

ggplot2:在两条线的交点处添加点

如何在ggplot2中为两条线之间的区域着色/着色?

在一个图中绘制两条线,每条线都有自己的 y 值

如何使用python opencv测量同一图像中两条线之间的角度?

线图ggplot - 两条线,来自同一站点的数据点/秒

R-qplot-绘制来自不同数据集的两条线

如何获得图中两条线的交点?

如何隐藏/取消隐藏同一情节中的两条线之一?

查找使用houghlines opencv绘制的两条线的交点

如何在日内使用烛台在HighStocks中绘制两条线

如何在Ggplot的一个图表上有两条线

ggplot:一张图上的两条线,日期有中断(y 轴)

有两条线的图,根据一列值分成不同的图

如何使用ggplot创建两条线和散点图

仅使用整数计算两条线的交点

使用 Matplotlib 在两条线之间着色

Ggplot,如何在同一个图表中有两条线并让它产生一个图例

将两条线拟合到一组2D点

测试是两条线相交