> tpm <- read.csv("TPM.csv")#读取文件
> head(tpm)
id A_TPM D_TPM
1 A 81.793637 115.0825500
2 B 42.451420 37.5586103
3 C 28.969505 37.4020927
4 D 56.446503 63.4920793
5 E 0.213124 0.8800907
6 F 7.270459 10.4440693
> tpm <- pivot_longer(tpm,cols = c(A_TPM,D_TPM), names_to = "Category", values_to = "Value")#转换为长数据
> tpm$Value <- log2(tpm$Value)#数据量太大可以压缩
> head(tpm)
# A tibble: 6 × 3
id Category Value
<chr> <chr> <dbl>
1 A A_TPM 6.35
2 A D_TPM 6.85
3 B A_TPM 5.41
4 B D_TPM 5.23
5 C A_TPM 4.86
6 C D_TPM 5.23
> ggplot(tpm, aes(Category, Value, fill = Category)) +
geom_violin(adjust = 2) +#添加一个小提琴图层,adjust 参数调整小提琴的平滑度
geom_boxplot(width = 0.1, #添加一个箱线图层,通过 width 参数调整箱线图的宽度
position = position_identity(), #设置箱线图按照当前位置绘制
fill = "white", #使用白色填充颜色
outlier.colour = NA) +#隐藏离群值
scale_fill_manual(values = c("#87D0A5", "#FEE99A"),#填充颜色
labels = c(expression(paste("A"[t]," ", "TPM")), #使用 labels 参数指定对应的标签
expression(paste("D"[t], " ","TPM")))) +
labs(y = expression(paste("log"[2], "TPM"))) +#设置 y 轴标签
scale_x_discrete(labels = c(expression(paste("A"[t]," ", "TPM")), #对 x 轴离散变量的标签进行设置
expression(paste("D"[t], " ","TPM"))))+
ggtitle("Distribution of TPM")+#添加标题
theme(panel.grid = element_blank(),#设置面板网格线的显示方式为空白
panel.background = element_rect(color = 'black', fill = 'transparent'),#去除背景和网格线,边框颜色设置为黑色
legend.key = element_rect(fill = 'transparent'),#设置图例中的标记的填充颜色为透明
legend.text = element_text(size = 13),# 图例文字大小
legend.title = element_text(size = 14),# 图例标题大小
axis.text = element_text(size = 13),#坐标轴文字大小
axis.title = element_text(size = 14),#坐标轴标题大小
plot.title = element_text(size = 16)) #图片标题文字大小
ggplot 小提琴+箱线 基础绘图
于 2023-12-08 09:42:24 首次发布