如何用ggplotly创建多色分段线?

时间:2018-10-19 21:33:57

标签: r ggplot2 plotly

我有以下数据框:

    df <- data.frame(party=c("Democrat", "Democrat", "Democrat", "Republican","Republican","Republican","Republican","Republican","Democrat","Democrat"), value=c(1,4,2,3,5,6,10,9,8,7), year=c(1960:1969))

我正在尝试在x轴上绘制年份,在y轴上绘制值,并按方绘制颜色。因此,ggplot版本非常简单且有效:

    library(ggplot2)
    library(plotly)

    p<-ggplot(df, aes(x=year, y=value, color=party, group=1))+geom_line()
    p

enter image description here

我的问题是尝试使用ggplotly将其转换为可绘制对象时。

    ggplotly(p)

enter image description here

在ggplot美学中,似乎将group = 1选项强行强制为按颜色分割的单条线似乎根本不会延续到ggplotly。谁能指出解决此问题的方法?我已经搜索了几个小时,无济于事。

1 个答案:

答案 0 :(得分:2)

我建议将geom_line换成geom_segment,这使您可以定义每个线段的外观。它需要每个段的终结点,但可以幸免于翻译成plotly的翻译,ggplot2的模型似乎与q<-ggplot(df, aes(x=year, y=value, xend = lead(year), yend = lead(value), color=party))+ geom_segment() + scale_x_continuous(breaks = seq(1960, 1970, by = 2)) q ggplotly(q) 处理多个序列的模型稍有不同。

sizeof...()

enter image description here