R图基于另一个因素

时间:2014-01-30 16:39:26

标签: r plot

我有一组数据如下:

CHROM POS GT DIFF

chr01整数AG整数

chr01整数GA整数

chr02整数CG整数

...

chr22整数GT整数

chrX整数TC整数

我想绘制POS(x轴)与DIFF(y轴),我想根据CHROM的水平对x轴进行分组。

以下是我仅用于chr01的示例图。 我希望chr02 ... chrX在这个情节中以及chr01的右边。

我的代码是:

my.key <- list(space="right",
           border=T,
           cex.title=1.2,
           title="Legend",
           size=10,
           text=levels(GT),
           fill=T)

xyplot(data$DIFF[data$CHROM=="chr01"]~data$POS[data$CHROM=="chr01"],
   xlab = "chr01 -- LCMT0001",
   ylab = "Distance -- LCMT0001",
   col=GT,
   group=GT,
   auto.key = my.key,
   pch=16,
   scales=list(
     x = list(alternating=F,tick.number = 8),
     y = list(log=10,tick.number=11))

1 个答案:

答案 0 :(得分:1)

您可以尝试ggplot

# some sample data
df <- data.frame(CHROM = 1:4,
                 POS = 1:5,
                 GT = sample(c("ac", "ag", "at"), 100, replace = TRUE),
                 DIFF= sample(1:100))


ggplot(data = df, aes(x = POS, y = DIFF, colour = GT)) +
  geom_point() +
  facet_grid(~ CHROM) +
  theme_bw()

enter image description here