ggplot 小提琴+箱线 基础绘图

文章介绍了如何使用R语言处理TPM(TranscriptsPerMillion)数据,包括读取CSV文件、数据转换、对数变换,然后通过ggplot创建了一个展示A和D类别TPM值分布的小提琴图和箱线图。
摘要由CSDN通过智能技术生成
> 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)) #图片标题文字大小

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值