Question: Overlaid XY plot with two different colors for control and target genes
1
Chirag Nepal2.2k wrote:

Hi all,

I have expression measure of genes (two sets: target and contro genes) as measured by RNAseq, which is computed in tabular matrix.

head(A)
V1    V2    V3    V4    V5    V6
1 chr20:38788661-38812050_ENSDART00000136771 1.912 1.912 1.912 4.770 0.703
2  chr4:13971999-13980660_ENSDART00000067040 0.502 0.502 0.502 1.242 0.011

V7     V8     V9    V10   V11    V12    V13
1 0.137  6.534  4.689  7.086 2.646  4.376  0.684
2 0.007  0.684  1.125  2.819 2.392  1.406  0.364
head(B)
V1    V2    V3    V4    V5    V6
1 chr19:24974067-24977991_ENSDART00000052421 0.005 0.005 0.005 0.025 0.139
2  chr8:26148102-26150871_ENSDART00000049793 2.312 2.312 2.312 6.153 1.109
3  chr8:47908733-47913950_ENSDART00000025620 2.446 2.446 2.446 9.660 5.411
V7     V8     V9    V10   V11    V12    V13
1 0.807  0.010  0.232  5.963 0.022  0.149  3.162
2 0.291  4.556  3.214 16.486 2.158  5.599  0.939
3 7.745 11.614 13.150 51.680 8.557 18.356 36.378

PLOT:

par (mfrow=c(1,2))
plot (log2(A\$V2/A\$V5), log2(A\$V8/A\$V11), xlab="log2(FC)", ylab="log2(FC)", xlim=c(-5,5), ylim=c(-5,5), col="red")
abline(v=0, lty=2); abline (h=0, lty=2)
plot (log2(B\$V2/B\$V5), log2(B\$V8/B\$V11), xlab="log2(FC)", ylab="log2(FC)", col="blue", xlim=c(-5,5), ylim=c(-5,5))

abline(v=0, lty=2); abline (h=0, lty=2)

How could i plot both in the same plot ?

cheers

Chirag

rna-seq R • 1.5k views
ADD COMMENTlink
modified 5.3 years ago • written 5.3 years ago by Chirag Nepal2.2k
3
Jason890 wrote:

If I were you I would try using your first plot as is, but for the second plot instead of using the plot function, use points e.g.

`plot (log2(A\$V2/A\$V5), log2(A\$V8/A\$V11), xlab="log2(FC)", ylab="log2(FC)", xlim=c(-5,5), ylim=c(-5,5), col="red")`

`points(log2(B\$V2/B\$V5), log2(B\$V8/B\$V11),  col="blue")`

`abline(v=0, lty=2); abline (h=0, lty=2)`

You could also use par(new =TRUE) instead. I.e.

```plot (log2(A\$V2/A\$V5), log2(A\$V8/A\$V11), xlab="log2(FC)", ylab="log2(FC)", xlim=c(-5,5), ylim=c(-5,5), col="red") par(new =TRUE) plot (log2(B\$V2/B\$V5), log2(B\$V8/B\$V11), xlab="", ylab="", col="blue", xlim=c(-5,5), ylim=c(-5,5))```

`abline(v=0, lty=2); abline (h=0, lty=2)`

edit:

Also, if the A\$V2 etc doesn't work you may want to use A[,2] instead.

ADD COMMENTlink modified 5.3 years ago • written 5.3 years ago by Jason890
2
Devon Ryan91k wrote:
```cols=c(rep("red",2),rep("blue",3))
with(rbind(A,B), plot(log2(V2/V5), log2(V8/V11), xlab="log2(FC)", ylab="log2(FC)", xlim=c(-5,5), ylim=c(-5,5), col=cols))
abline(v=0, lty=2); abline (h=0, lty=2)```

You could also just add the colors as a column, which would make life easier if using ggplot2.

ADD COMMENTlink modified 5.3 years ago • written 5.3 years ago by Devon Ryan91k
2
Ido Tamir5.0k wrote:

a)

plot(c(log2(A\$V2/A\$V5),log2(B\$V2/B\$V5)), c(...), col=c(rep("red", nrow(A)),rep("blue", nrow(B)))

b)

with ggplot2 its much more elegant. You would have to create one data frame with a structure like:

gene name x y type
gene1 3.2 1.2 control
....
geneN 1.2 3.2 target

and then ggplot(df, aes(x=x,y=y, colour=type))+geom_point()

ADD COMMENTlink written 5.3 years ago by Ido Tamir5.0k
0
Chirag Nepal2.2k wrote:

Thank you very much guys !!

ADD COMMENTlink written 5.3 years ago by Chirag Nepal2.2k
Please log in to add an answer.

Content
Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1689 users visited in the last hour