Ошибка в команде scale_alpha_manual: Ошибка в альфа * 255: не числовой c аргумент для двоичного оператора - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь отобразить переменную «между субъектами» и переменную «внутри субъектов» на том же графике, используя Alpha для обозначения переменной «внутри субъекта» и заливки для обозначения переменной «между субъектами».

Для этого я использовал команду scale_alpha_manual, чтобы указать, какой уровень переменной должен быть прозрачным, а какой - нормальным. Раньше он работал нормально, но потом я обновил ggplot2, и теперь я получаю следующее сообщение об ошибке:

Error in alpha * 255 : non-numeric argument to binary operator

Это происходит только тогда, когда я использую scale_alpha_manual, так что я почти уверен, что именно здесь возникает проблема от. Есть ли способ обойти это?

Вот код для моего графика:

ggplot(data=EPM_Dur_mean, aes(x=as.factor(Condition),y=meanDur, group=Condition, fill=Condition)) + 

geom_bar(data=EPM_Dur_mean, aes(alpha=Arm),show.legend=FALSE, stat="identity", position= position_dodge2(width=0.2)) +

geom_errorbar(data=EPM_Dur_mean, aes(ymin=meanDur-se,ymax=meanDur+se), position=position_dodge2(width=0.5,padding=0.5), show.legend=FALSE) +

theme_classic(base_size=20) +

scale_alpha_manual(values=c("Open"="0.3", "Closed"="1"))+

scale_fill_manual(values = c("Adol_0"="#0c2c84","Adol_50"="#c7e9b4", "Adult_0"="#49006a","Adult_50"="#fa9fb5"))+

scale_x_discrete(limits=c("Adol_0", "Adol_50", "Adult_0","Adult_50"), labels=c("0","50","0","50"))+

labs(x="", y="Duration (s)")+

geom_point(data=EPM_50, aes(x=Condition, y=Duration, group=Condition, color=Condition, shape=Cohort, alpha=Arm, size=3),position_dodge2(width=0.5), stat="identity")

График должен выглядеть следующим образом:

...