如何修复 ggplot2 中的 "Discrete value supplied to continuous scale" 错误

How to fix "Discrete value supplied to continuous scale" Error in ggplot2

我想将我在 Excel 中计算的平均丰度数据和标准误差数据绘制为 ggplot2 中的条形图。当我尝试在 gglot2.

中绘制数据时出现错误 Error: Discrete value supplied to continuous scale

我曾尝试使用逗号分隔格式 (CSV) 直接从 Excel 导入数据,但这没有用,所以我尝试从头开始创建我的数据框,但出现了同样的错误。

这是产生错误所需的最少代码。首先,我创建列数据。

Parasite <- c("Heligmosomoides", "Heligmosoma", "Trichuris",
              "Mastophorus", "Auncotheca", "Syphacia", "Tapeworms")
Mean <- c(0.166, 0.053, 0.012, 0.012, 0.0072, 0.287, 0.067)
SE <- c(0.060, 0.036, 0.012, 0.012, 0.042, 0.125, 0.026)

然后我创建了数据框。

DF6 <- data.frame(Parasite, Mean, SE)

然后我加载ggplot2。

library(ggplot2)

然后我使用 ggplot2 创建了带有误差条的条形图。

BGPA <- ggplot(DF6, aes(x = DF6$Parasite, y = DF6$Mean)) +
    geom_bar(color="black") +
    geom_errorbar(aes(ymin = DF6$Parasite, ymax = DF6$Mean+DF6$SE))

然后打印出来。

print(BGPA)

这是我收到错误的地方。

Error: Discrete value supplied to continuous scale

问题是您将 ymin 设置为 Parasite 而不是 Mean-SE。也可以使用 geom_barstat = "identity"geom_col.

BGPA <- ggplot(DF6, aes(x = Parasite, y = Mean)) +
    geom_bar(color = "black", stat = "identity") +
    geom_errorbar(aes(ymin = Mean-SE, ymax = Mean+SE))
BGPA