3

我正在尝试绘制此数据的条形图

到目前为止,我编写的 R 脚本如下:

library(ggplot2)
f<-read.table("Coverage_test", sep="\t", header=TRUE)
f$Coverage <- factor(f$Coverage, levels=unique(as.character(f$Coverage)))
g = ggplot(data=f, aes(x=Coverage, y=Variable_counts, group=Form, fill=Type)) 
+ geom_bar(position="dodge", stat="identity", colour="black") 
+ facet_grid( ~ Sample_name, scales="free") + opts(title = "Coverage", axis.text.x = theme_text(angle = 90, hjust = 1, size = 8, colour = "grey50")) 
+ ylab("Number of variables") + scale_fill_hue() + scale_y_continuous(formatter="comma")
ggsave("Figure_test_coverage.pdf")

这段代码的输出如下:

在此处输入图像描述

我的问题是:有没有办法显示基于图形的两个变量的行为差异。每个 x 轴变量都有四个条形。我已经选择用“类型”填充颜色,这显示了不同的“类型”(一个变量)在我的数据中的行为方式。但我也想展示变量“表单”在我的数据中的行为。我已将它们分组在我的代码“group=Form”中,但无法在实际图形中区分它(视觉上)。这可以通过显示一个变量的不同颜色和另一个变量的不同线型(实线和虚线)来在线图中完成。如下所示: 在此处输入图像描述

我想知道“表单”变量是否可以用不同的颜色显示,或者至少可以在它们各自的条形下方或任何可能的地方命名?任何帮助是极大的赞赏。

谢谢你。

4

1 回答 1

7

我想你想要这样的东西:

ggplot(data=dat, aes(x=Coverage, 
                        y=Variable_counts, 
                         group=interaction(Form,Type), 
                         fill=interaction(Form,Type))) +
 geom_bar(position="dodge", stat="identity", colour="black")

在此处输入图像描述

编辑

由于条形图和 samrt 公式表示法,在这里我会使用格子。为了好玩,我使用 ggplot 之类的主题latticeExtra

library(latticeExtra)
barchart(Variable_counts~Coverage|Sample_name,
         groups=interaction(Type,Form),
         data=dat,stack=F,auto.key=list(columns = 4),
         par.settings = ggplot2like(),
         axis = axis.grid,
         between=list(x=2))

在此处输入图像描述

于 2013-02-25T03:53:54.997 回答