Рисовать сюжет для сравнения каждого ряда?

Я хотел бы нарисовать сюжет для следующей таблицы.

                       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 ответ

Решение

Я думаю, что правильный выбор графика зависит от характеристик вашего полного набора данных и от того, что я могу сказать, от числа возможных уникальных значений идентификаторов ("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 тем не мение. Вот что выдает приведенный выше код:

введите описание изображения здесь

Можно легко утверждать, что эта диаграмма не подходит для ваших данных, учитывая больше контекста и знаний о ваших данных. Вы должны добавить больше деталей к вопросу, как прокомментировали другие.

Другие вопросы по тегам