我有三組(分類變數)完成了一個測驗和一個資料框,每組測驗的平均誤差和標準誤差。我想將它們的均值繪制為圖中的一個點,并附有一條短水平線,指示標準誤差(即誤差線)。我將 R 與 ggplot2 一起使用。
我的 x 軸代表測驗中所有可能的分數(從 -218 到 218),并且組繪制在 y 軸上(我用于coord_flip()此)。
我能夠創建圖表,但沒有顯示標準錯誤線,所以我不知道我做錯了什么。我認為這與我的使用有關geom_pointrange(),但我不知道我應該改變什么。
這是我的代碼:
ggplot(descriptive_blp_data)
aes(x = group, y = mean_blp, colour = group, size = 5)
geom_pointrange(aes(ymin = mean_blp - se_blp, ymax = mean_blp se_blp), width=.2,
position=position_dodge(.9))
scale_color_manual(
values = list(
Group_2 = "#9EBCDA",
Group_3 = "#8856A7",
Group_1 = "#E0ECF4"
)
)
labs(y = "Mean BLP score (SE)")
coord_flip()
theme_classic()
theme(legend.position = "none", axis.title.y = element_blank())
ylim(-218, 218)
這是我到目前為止的圖表:

uj5u.com熱心網友回復:
如果您可以提供實際的 dataframe ,則更容易檢查descriptive_blp_data。使用一些任意資料集運行您的代碼確實可以按預期作業并產生錯誤欄,因此 ggplot 部分沒有什么問題。
可能有幾個原因導致這不適用于您的實際資料集 - 也許標準誤差太小而無法顯示為 5 的點大小?
descriptive_blp_data <- data.frame(
"group" = c("Group_3", "Group_2", "Group_1"),
"mean_blp" = c(150, 50, -50),
"se_blp" = c(40, 20, 30)
)
library(ggplot2)
ggplot(descriptive_blp_data)
aes(x = group, y = mean_blp, colour = group, size = 5)
geom_pointrange(aes(ymin = mean_blp - se_blp, ymax = mean_blp se_blp), width=.2,
position=position_dodge(.9))
scale_color_manual(
values = list(
Group_2 = "#9EBCDA",
Group_3 = "#8856A7",
Group_1 = "#E0ECF4"
)
)
labs(y = "Mean BLP score (SE)")
coord_flip()
theme_classic()
theme(legend.position = "none", axis.title.y = element_blank())
ylim(-218, 218)

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/488015.html
上一篇:我可以使用ggMarginal手動更改箱線圖顏色嗎?
下一篇:如何用標準偏差繪制平均線?
