小提琴图错误 - 提供给连续刻度的离散值

Violin plot error - Discrete value supplied to continuous scale

我正在尝试创建一系列小提琴图,显示不同区域的平均浓度(分隔半球和条件)。

我不断收到以下错误:错误:提供给连续刻度的离散值。任何想法将不胜感激。

保重身体。

下面是我的数据框的结构:

> str(Oxyhb_V2)
'data.frame':   1028 obs. of  7 variables:
 $ ID         : chr  "B1" "B1" "B1" "B1" ...
 $ Name       : chr  "Happy_HbO_LeftParietal_Value" "Happy_HbO_RightParietal_Value" "Happy_HbO_LeftSTC_Value" "Happy_HbO_RightSTC_Value" ...
 $ Values     : num  -59.33 1.94 -33.85 21.11 -135.14 ...
 $ Condition  : Factor w/ 2 levels "Happy","ThreatAngryFearful": 1 1 1 1 1 1 1 1 2 2 ...
 $ Chromophore: Factor w/ 1 level "HbO": 1 1 1 1 1 1 1 1 1 1 ...
 $ Hemisphere : Factor w/ 2 levels "Left","Right": 1 2 1 2 1 2 1 2 1 2 ...
 $ ROI        : Factor w/ 4 levels "DLPFC","IFC",..: 3 3 4 4 1 1 2 2 3 3 ...
 - attr(*, "na.action")= 'omit' Named int [1:520] 9 18 27 36 40 41 43 44 45 49 ...
  ..- attr(*, "names")= chr [1:520] "9" "27" "45" "63" ...

这是我当前的 ggplot 代码

q <- ggplot(Oxyhb_V2, aes(x=Hemisphere, y=Values, color=Condition)) + 
  facet_wrap(~ROI, scales='free') +
  geom_vline(xintercept = 0, linetype = "dotted", color="black", alpha = .2) + #accentuate origin
  geom_hline(yintercept = 0, linetype = "dotted", color="black", alpha = .2) + #accentuate origin
  labs(x = "Condition", y = "Mean Oxy-Hb (uM)") + #label axes
  theme(text=element_text(size=12)) +
  geom_violin(trim=FALSE) +
  geom_boxplot(width=0.1)+
  geom_point() +#set label font size
  theme_minimal() #set theme

plot(q)

错误是由geom_vline(xintercept = 0)层引起的。将 0 替换为您的 x 的值之一,例如 geom_vline(xintercept = "Left")