我有以下数据:
id <- rep(1:100)
A <- rep(c(0.12 ,0.25, 0.5, 1, 2), each = 20)
B <- rep(c(0.06, 0.03, 0.015, 0.12), each = 25)
C <- rep(c(0.015, 0.03, 0.06, 0.12, 0.25), each = 20)
df <- data.frame(id,A,B,C,stringsAsFactors = F)
我把A、B和C分成两列。请注意,A、B和C实际上是因素,我只是避免将它们指定为因素来创建小提琴图。
library(dplyr)
df_edited <- df %>%
gather(key, value, -id, factor_key = F)
我用这些数据创建了以下图表:
library(ggplot2)
factor_breaks <- c(0.015,0.03,0.06,0.12,0.25,0.5,1,2)
factor_levels <- c("0.015","0.03","0.06","0.12","0.25","0.5","1","2")
ggplot(df_edited, aes(key, value))+
geom_violin()+
scale_y_continuous(labels = factor_levels, breaks = factor_breaks)
这将创建以下图形:
![enter image description here](https://istack.dev59.com/TwMII.webp)
ggplot(df_edited, aes(key, factor(value)))+
geom_violin()