Mise à jour2 : Juste pour montrer comment vjust
travaux :
ggplot(df_long, aes(x = model, y= value, label=value))+
geom_col(data = filter(df_long, name != "cost"), aes(fill=name), position = position_dodge())+
scale_fill_manual(values = c("blue", "grey"))+
geom_line(data = filter(df_long, name == "cost"), aes(color = name, group = 1), size = 2)+
scale_color_manual(values = "red")+
geom_point(data = filter(df_long, name == "cost"), size = 2)+
geom_text(data = filter(df_long, name == "cost"), hjust=0, vjust=-6)+
scale_y_continuous(
name = "Sale and Share",
sec.axis = sec_axis(~., name ="Cost")
)+
theme_minimal()+
theme(legend.title=element_blank())
![enter image description here]()
Mise à jour avec un axe y secondaire et des numéros pour les points :
library(tidyverse)
df_long <- df %>%
pivot_longer(
cols = -model
)
ggplot(df_long, aes(x = model, y= value, label=value))+
geom_col(data = filter(df_long, name != "cost"), aes(fill=name), position = position_dodge())+
scale_fill_manual(values = c("blue", "grey"))+
geom_line(data = filter(df_long, name == "cost"), aes(color = name, group = 1), size = 2)+
scale_color_manual(values = "red")+
geom_point(data = filter(df_long, name == "cost"), size = 2)+
geom_text(data = filter(df_long, name == "cost"), hjust=0, vjust=0)+
scale_y_continuous(
name = "Sale and Share",
sec.axis = sec_axis(~., name ="Cost")
)+
theme_minimal()+
theme(legend.title=element_blank())
![enter image description here]()
Première réponse : Quelque chose comme ça ?
-
Apportez vos données en format long
-
pour chaque barre et ligne filtrer les données
library(tidyverse)
df_long <- df %>%
pivot_longer(
cols = -model
)
ggplot() +
geom_col(data = filter(df_long, name != "cost"), aes(x = model, y= value, fill=name), position = position_dodge())+
scale_fill_manual(values = c("blue", "grey"))+
geom_line(data = filter(df_long, name == "cost"), aes(x = model, y= value, color=name, group=1), size = 2)+
geom_point(data = filter(df_long, name == "cost"), aes(x = model, y= value), size = 2)+
scale_color_manual(values = "red")+
theme_minimal()+
theme(legend.title=element_blank())
![enter image description here]()