我有一些來自我正在計算 STEN 分數的測驗的資料。我的目標是以圓形條形圖的形式可視化這些資料,并希望根據 STEN 分數范圍設定顏色漸變。例如,0-2 分是非常淺的顏色,2.1-4 淺,4.1-6 中等,6.1-8 深,8.1-10 非常深。我下面的代碼使用RColorBrewer包和"YlGn"調色板,但我堅持如何根據上面提到的示例預定義配色方案并將其設定在繪圖圖例中。下面的示例生成了一個圓形條形圖,其中包含 4.8 的最低 STEN 分數,所以我希望這反映為中等顏色,目前它是最輕的。我本質上希望圖例顯示所有五個 STEN 得分范圍,而不管某人的資料得分是否在每個范圍內。希望這是有道理的。
library(tidyverse)
library(RColorBrewer)
set.seed(50)
dat <- data.frame(
par = paste("par", 1:15),
test_1 = round(rnorm(15, mean = 30, sd = 5), 1),
test_2 = round(rnorm(15, mean = 30, sd = 5), 1),
test_3 = round_any(rnorm(15, mean = 90, sd = 5), 2.5),
test_4 = round(rnorm(15, mean = 5.4, sd = 0.3), 1),
test_5 = round(rnorm(15, mean = 17, sd = 1.5), 1)
)
sten_dat <- dat %>%
mutate_if(is.numeric, scale) %>%
mutate(across(c(2:6), ~ . * 2 5.5)) %>%
mutate(across(where(is.numeric), round, 1)) %>%
pivot_longer(!par, names_to = "test", values_to = "sten") %>%
filter(par == "par 1")
ggplot(sten_dat)
geom_col(aes(x = str_wrap(test), y = sten, fill = sten),
position = "dodge2", alpha = 0.7, show.legend = TRUE)
coord_polar()
scale_y_continuous(limits = c(-1, 11), breaks = seq(0, 10, 2))
scale_fill_gradientn(colours = brewer.pal(name = "YlGn", n = 5))`
uj5u.com熱心網友回復:
只需添加limits到您的填充比例:
ggplot(sten_dat)
geom_col(aes(x = str_wrap(test), y = sten, fill = sten),
position = "dodge2", alpha = 0.7, show.legend = TRUE)
coord_polar()
scale_y_continuous(limits = c(-1, 11), breaks = seq(0, 10, 2))
scale_fill_gradientn(colours = brewer.pal(name = "YlGn", n = 5),
limits = c(0, 10))

如果您希望顏色以您描述的方式清晰地“分類”,您可以使用scale_fill_stepn而不是scale_fill_gradientn
ggplot(sten_dat)
geom_col(aes(x = str_wrap(test), y = sten, fill = sten),
position = "dodge2", alpha = 0.7, show.legend = TRUE)
scale_y_continuous(limits = c(-1, 11), breaks = seq(0, 10, 2))
scale_fill_stepsn(colours = brewer.pal(name = "YlGn", n = 5),
limits = c(0, 10), breaks = 0:5 * 2)
geomtextpath::coord_curvedpolar()
theme_minimal()
theme(axis.text.x = element_text(size = 16, face = 2),
panel.grid.major.x = element_blank())

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/444204.html
下一篇:基于矩陣制作ggplot2圖
