ggplot - 重新排序条
ggplot - Reorder Bars
尊敬的编码社区成员,
如我的查询标题所示,我想更改下图中条形的顺序
(即两个“即时”柱都出现在“延迟”柱之前) :
ggplot(propho.effect.frame, aes(session, fit, color=modality, fill=modality)) + geom_bar(stat='identity',position="dodge") + geom_errorbar(aes(ymin=fit-se, ymax=fit+se), width=0.4, position=position_dodge(width=0.9)) + theme_bw(base_size=12) + labs(y="score", title="Phonological Production Task")
## INITIAL DATAFRAME ##############################################
PID session group list modality stim score
1 AL201 immediate A Y NOLM FAHRRAD 0
2 AL201 immediate A Y NOLM BUCH 1
3 AL201 immediate A X OLM SCHAF 0
4 AL201 immediate A X OLM STUHL 0
5 AL201 immediate A Y NOLM AFFE 0
6 AL201 immediate A Y NOLM KERZE 0
7 AL201 immediate A X OLM KIRCHE 0
8 AL201 immediate A X OLM NAGEL 0
9 AL201 immediate A X OLM PFANNE 0
10 AL201 immediate A Y NOLM KLEID 0
11 AL201 immediate A X OLM HAHN 0
12 AL201 immediate A X OLM KAMM 0
13 AL201 immediate A Y NOLM PILZ 1
14 AL201 immediate A Y NOLM BIRNE 0
15 AL201 immediate A X OLM VOGEL 0
16 AL201 immediate A X OLM SCHALE 0
17 AL201 immediate A X OLM PFEIL 0
18 AL201 immediate A Y NOLM TROMMEL 0
19 AL201 immediate A X OLM LEITER 0
20 AL201 immediate A Y NOLM KORB 0
>
## propho.effect.frame (cf. ggplot code) ##########################
modality session fit se lower upper
1 NOLM delayed 0.3525117 0.08066153 0.2140540 0.5211437
2 OLM delayed 0.6472552 0.07339121 0.4942436 0.7750446
3 NOLM immediate 0.3271910 0.07654911 0.1974255 0.4901584
4 OLM immediate 0.5659339 0.07947359 0.4088293 0.7108196
在尝试应用论坛上类似查询的建议但没有成功后(例如propho$session <- factor(propho$session, levels = c("immediate","delayed")
),我来找你希望找到答案。
提前感谢大家与我分享任何见解。
您可以使用 factor
和 ordered = T
来更改 ggplot 解释顺序的方式。您的原始绘图代码可以保持不变:
propho.effect.frame$session <- factor(propho.effect.frame$session, c('immediate', 'delayed'), ordered = T)
ggplot(propho.effect.frame, aes(session, fit, color=modality, fill=modality)) +
geom_bar(stat='identity',position="dodge") +
geom_errorbar(aes(ymin=fit-se, ymax=fit+se), width=0.4, position=position_dodge(width=0.9)) +
theme_bw(base_size=12) + labs(y="score", title="Phonological Production Task")
尊敬的编码社区成员,
如我的查询标题所示,我想更改下图中条形的顺序
(即两个“即时”柱都出现在“延迟”柱之前) :
ggplot(propho.effect.frame, aes(session, fit, color=modality, fill=modality)) + geom_bar(stat='identity',position="dodge") + geom_errorbar(aes(ymin=fit-se, ymax=fit+se), width=0.4, position=position_dodge(width=0.9)) + theme_bw(base_size=12) + labs(y="score", title="Phonological Production Task")
## INITIAL DATAFRAME ##############################################
PID session group list modality stim score
1 AL201 immediate A Y NOLM FAHRRAD 0
2 AL201 immediate A Y NOLM BUCH 1
3 AL201 immediate A X OLM SCHAF 0
4 AL201 immediate A X OLM STUHL 0
5 AL201 immediate A Y NOLM AFFE 0
6 AL201 immediate A Y NOLM KERZE 0
7 AL201 immediate A X OLM KIRCHE 0
8 AL201 immediate A X OLM NAGEL 0
9 AL201 immediate A X OLM PFANNE 0
10 AL201 immediate A Y NOLM KLEID 0
11 AL201 immediate A X OLM HAHN 0
12 AL201 immediate A X OLM KAMM 0
13 AL201 immediate A Y NOLM PILZ 1
14 AL201 immediate A Y NOLM BIRNE 0
15 AL201 immediate A X OLM VOGEL 0
16 AL201 immediate A X OLM SCHALE 0
17 AL201 immediate A X OLM PFEIL 0
18 AL201 immediate A Y NOLM TROMMEL 0
19 AL201 immediate A X OLM LEITER 0
20 AL201 immediate A Y NOLM KORB 0
>
## propho.effect.frame (cf. ggplot code) ##########################
modality session fit se lower upper
1 NOLM delayed 0.3525117 0.08066153 0.2140540 0.5211437
2 OLM delayed 0.6472552 0.07339121 0.4942436 0.7750446
3 NOLM immediate 0.3271910 0.07654911 0.1974255 0.4901584
4 OLM immediate 0.5659339 0.07947359 0.4088293 0.7108196
在尝试应用论坛上类似查询的建议但没有成功后(例如propho$session <- factor(propho$session, levels = c("immediate","delayed")
),我来找你希望找到答案。
提前感谢大家与我分享任何见解。
您可以使用 factor
和 ordered = T
来更改 ggplot 解释顺序的方式。您的原始绘图代码可以保持不变:
propho.effect.frame$session <- factor(propho.effect.frame$session, c('immediate', 'delayed'), ordered = T)
ggplot(propho.effect.frame, aes(session, fit, color=modality, fill=modality)) +
geom_bar(stat='identity',position="dodge") +
geom_errorbar(aes(ymin=fit-se, ymax=fit+se), width=0.4, position=position_dodge(width=0.9)) +
theme_bw(base_size=12) + labs(y="score", title="Phonological Production Task")