/ / Ajouter plusieurs segments de ligne dans un tracé entre plusieurs points de R - r, plot, ggplot2

Ajouter plusieurs segments de ligne dans un tracé entre plusieurs points de R - r, plot, ggplot2

J'utilise geom_segment ajouter un segment de droite sur une parcelle dans R. Étant donné que de nombreux segments de ligne (au total 80) doivent être ajoutés, il semble que je ne puisse pas ajouter plus de lignes en utilisant "+". Est-ce dû aux couches limitées dans R? Quoi qu'il en soit, je me demande s’il existe un moyen d’ajouter ces 80 segments de ligne dans un tracé.

Voici les codes que j'utilise dans mon tracé:

ggplot(df_var_g1,aes(Name,PrePost, fill=type)) +
geom_bar(colour="black", width=0.7, stat="identity",position=position_dodge(width=0.8)) +
scale_fill_manual(values=c("#F6D3D1","#C9CFE9")) +
geom_segment(aes(x = 0.8, y = 0.8525, xend = 1.2, yend = 0.8665, colour = "b"),size=1) +
geom_segment(aes(x = 1.8, y = 0.8525, xend = 2.2, yend = 0.8665, colour = "c"),size=1) +
geom_segment(aes(x = 2.8, y = 0.8525, xend = 3.2, yend = 0.8665, colour = "c"),size=1) +
geom_segment(aes(x = 3.8, y = 0.8525, xend = 4.2, yend = 0.8665, colour = "c"),size=1) +
geom_segment(aes(x = 4.8, y = 0.8525, xend = 5.2, yend = 0.8665, colour = "c"),size=1) +
geom_segment(aes(x = 5.8, y = 0.8525, xend = 6.2, yend = 0.8665, colour = "c"),size=1) +
...(perhaps 80 geom_segment here...) +
scale_color_manual(values=c("#FF6666","#0000FF")) +
geom_errorbar(aes(ymin=SDmin, ymax=SDmax), width=.1, position=position_dodge(1)) +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),panel.background = element_blank(), axis.line = element_line(colour = "black"), axis.ticks.length=unit(-0.15, "cm"), axis.text.x = element_text(margin=margin(15,5,10,5,"pt")), axis.text.y = element_text(margin=margin(5,8,10,5,"pt"))) +
coord_cartesian(ylim=c(0.7,1.0))

L'intrigue est la suivante: mon complot

Quelqu'un peut-il résoudre le problème? Ou juste se débarrasser de geom_segment. Je veux seulement ajouter ces 80 lignes ... Merci beaucoup!

Réponses:

0 pour la réponse № 1

Don "t utiliser geom_segment - utilisation geom_line avec une esthétique de groupe. Vous aurez besoin d’une colonne dans votre cadre de données qui identifie les points à coupler; geom_line peut connecter des points de lignes ayant la même valeur pour cette colonne

ggplot(df_var_g1, aes(Name,PrePost, fill=type)) +
geom_bar(colour="black", width=0.7,
stat="identity",position=position_dodge(width=0.8)) +
scale_fill_manual(values=c("#F6D3D1","#C9CFE9")) +
# draw lines connecting points with the same value in group_column
geom_line(aes(group_by = group_column))