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