ggplot线条绘制不同颜色的部分

时间:2017-11-26 16:47:58

标签: r ggplot2 colors

我想在ggplot中绘制不同数据组之间的连续线。我的数据集有三组数据1,2或3。

ArgumentCaptor<UserAccessBean> captor = ArgumentCaptor.forClass(UserAccessBean.class);
Mockito.verify(accessClient).getAccess(captor.capture(),Mockito.eq("CSR"));
assertEquals(captor.getValue().getName(), "myName");

enter image description here

我的问题是,对于绿色的组2,数据以不同的时间间隔传播,因此,ggplot连接它们。实际上,ggplot基于color命令将我的数据三行显示出来,其中最初只有一行如下:

enter image description here

有没有办法根据三个组对线条进行着色而不会在组内部和互连之间中断(当它们被传播时)?

以下是数据:

ggplot(Dataset_v2.2.clusterplot, aes(Date, Number_IPOs, color = factor(label)))+
  geom_point()+
  geom_line()

1 个答案:

答案 0 :(得分:7)

geom_path更适合您尝试连接点的位置:http://ggplot2.tidyverse.org/reference/geom_path.html。正如那里所解释的那样:

  

“geom_path按照它们在数据中出现的顺序连接观察结果。”

我发现这有点有趣,因为你在这里。作为您可能期望的功能示例:

ggplot(Dataset_v2.2.clusterplot, aes(Date, Number_IPOs, color = factor(label)))+
  geom_path() +
  geom_point()

enter image description here

解决此问题的一种简单方法是为aes geom_path中的行指定一个组。如你想要一条连续线,我只是指定1(这个值是任意的,可以是任意数字)

ggplot(Dataset_v2.2.clusterplot, aes(Date, Number_IPOs, color = factor(label)))+
  geom_path(aes(group = 1)) +
  geom_point()

enter image description here

相关问题