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:
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 № 1Don "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))