按出现顺序在 ggplot geom_point 中添加连接线

Adding connection lines in ggplot geom_point by order of appearance

我有这样的数据:

             phase_f     share
1: Conceptualization 0.5000000
2:            Growth 0.6666667
3:              Idea 0.2777778
4:        Incubation 0.8333333

我想绘制代表股票的数据,这些点应该用一条线连接。

我尝试了以下代码:

test <- ggplot(aes(y = phase, x = share) + 
  geom_point() +
  geom_line()+
  labs(x= "% of answers", y = "") 

这给了我以下情节 1:

效果很好,但我希望点之间的线连接相邻的类别,即从想法到概念化到孵化到成长。在示例中,我想抹去 Idea 和孵化之间的联系,而是在此处手动更正概念化和孵化之间的界限:

如果我切换 x 轴和 y 轴,这会起作用 - 每个类别都连接到相邻的类别(图 2):

我必须如何调整我的代码才能使 x 轴和 y 轴与图 1 中一样,但连接顺序与图 2 中一样?

非常感谢您的支持。

尝试使用 geom_path 而不是 geom_linegroup = 1

来自documentation (?geom_line):

geom_path() connects the observations in the order in which they appear in the data. geom_line() connects them in order of the variable on the x axis

library(ggplot2)

df <- read.table(header = T, text = "phase_f     share
Conceptualization 0.5000000
Growth 0.6666667
Idea 0.2777778
Incubation 0.8333333")

ggplot(df, aes(y = phase_f, x = share, group = 1)) + 
         geom_point() +
         geom_path() +
         labs(x= "% of answers", y = "") 

reprex package (v2.0.1)

于 2022-04-12 创建