画出比较每一行的情节?

时间:2016-03-18 17:34:42

标签: r plot ggplot2 density-plot

我想为下表绘制一个情节。

                       T6     T26   D6     D26
ENSMUSG00000026427    420     170   197    249
ENSMUSG00000026436     27     21    54      77
ENSMUSG00000018189    513    246   429    484
ENSMUSG00000026470    100     55    82     73
ENSMUSG00000026696    147     73   182    283
ENSMUSG00000026568   3620   1571  1264   1746
ENSMUSG00000026504     95     60   569    428

我想比较每一行并用不同的颜色指定每一列。 X.lab =基因名称 y.Lab =计数

1 个答案:

答案 0 :(得分:1)

我认为适当的绘图选择取决于完整数据集的特征,以及我所知道的ID可能唯一值的数量(“ENSMUSG *”)和可能的变量数量(“T26” “,”D26“,......)。然而,很清楚的是,变量具有不同的尺度,因此不应该在同一图上组合,因此我选择了下面的刻面网格图。

以下是一些代码,可根据您选择向我们展示的数据样本做出适当的选择:

library(readr)
library(dplyr)
library(tidyr)

df_foo = read.table(textConnection(
  "T6     T26   D6     D26
ENSMUSG00000026427    420     170   197    249
ENSMUSG00000026436     27     21    54      77
ENSMUSG00000018189    513    246   429    484
ENSMUSG00000026470    100     55    82     73
ENSMUSG00000026696    147     73   182    283
ENSMUSG00000026568   3620   1571  1264   1746
ENSMUSG00000026504     95     60   569    428"
))

# plot the data
df_foo %>% 
  add_rownames(var = "ID") %>% 
  gather(key = Variable, value = Value, -ID) %>% 
  ggplot(aes(x = ID, y = Value, fill = Variable)) + 
  geom_bar(stat = "identity") + 
  theme_bw() + 
  facet_wrap(~ Variable, scales = "free_y") + 
  theme(axis.text.x = element_text(angle = 50, hjust = 1))

# save the plot
ggsave("results/faceted_bar.png", dpi = 600)

请注意,鉴于我们正面向color,我们严格要求Variable美学。以下代码产生了以下内容:

enter image description here

可以很容易地认为,鉴于有关数据的更多背景和知识,这不适合您的数据。您应该像其他人评论的那样在问题中添加更多细节。