Вы можете использовать здесь geom_col
следующий пример: https://ggplot2.tidyverse.org/reference/geom_bar.html
library(dplyr)
library(tidyr)
library(ggplot2)
Сначала сделайте данные аккуратными:
df <- df_test %>% pivot_longer(cols = 2:4,
names_to = "Cluster",
values_to = "value")
Сохраните наибольший из каждого кластера для построения гистограммы:
df <- df %>% group_by(Cluster) %>%
filter(value == max(value)) %>%
ungroup() %>%
# identify color scheme:
mutate(cols = case_when(value <=1 ~ "red",
value > 1 & value <= 2 ~ "yellow",
value > 2 ~ "green"))
ggplot(df) + geom_col(aes(x = value, y=Cluster, fill = Cluster)) +
scale_colour_manual(
values = df$cols,
aesthetics = c("colour", "fill")
)