r - 绘制不同类型的条形图ggplot

标签 r ggplot2

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

目前我写的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")

这段代码的输出如下:

enter image description here

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

我想知道“表单”变量是否可以用不同的颜色显示,或者至少可以在各自的条形下方命名,或者任何可能的名称? 非常感谢任何帮助。

谢谢。

最佳答案

我想你想要这样的东西:

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")

enter image description here

编辑

由于条形图和 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))

enter image description here

关于r - 绘制不同类型的条形图ggplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15059691/

相关文章:

r - 将额外的图例项添加到 ggplot2 以进行重叠填充 (geom_rect)

r - 带有最小和最大标签的漂亮轴

r - 求节点 u 和 v 之间经过节点 g 的最短路径总数

r - 从 R 中的 .kml 中提取 CDATA 标记值

r - 根据 R 中的坐标计算总绝对曲率

r - 用一些数据帧 r 绘制不同的图

r - ggplot : How to create a discrete color palette that fits the data automatically?

r - 如何在 R 中制作可变宽度直方图,标签与 bin 边缘对齐?

r - 在 ggduo 散点图矩阵中显示相关指数

r - 如何将函数应用于 data.table 的行子集,其中每次调用都返回一个 data.table