绘制用于比较每一行的图?
Draw plot for comparing each row?
我想为以下table画一个情节。
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= 计数
我认为适当的绘图选择取决于完整数据集的特征,据我所知,取决于 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)
请注意,考虑到我们无论如何都要面对 Variable
,因此完全不需要使上面的 color
美观。以下是上面的代码产生的结果:
可以很容易地争辩说,鉴于有关您数据的更多上下文和知识,这不是适合您数据的图表。正如其他人评论的那样,您应该在问题中添加更多细节。
我想为以下table画一个情节。
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= 计数
我认为适当的绘图选择取决于完整数据集的特征,据我所知,取决于 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)
请注意,考虑到我们无论如何都要面对 Variable
,因此完全不需要使上面的 color
美观。以下是上面的代码产生的结果:
可以很容易地争辩说,鉴于有关您数据的更多上下文和知识,这不是适合您数据的图表。正如其他人评论的那样,您应该在问题中添加更多细节。