Are you looking for something like this? Assuming your data is d:> d[2, ] <- d[2, ]*500 > oldp <- par(mar=c(4.1, 4.1, 4.1, 4.1)) > barplot(d, ylim=c(-1000, 3000), beside=TRUE, axes=FALSE) > axis(2, c(0, 1000, 2000, 3000)) > axis(4, c(-1000, -500, 0, 500, 1000), c(-2, -1, 0, 1, 2)) > mtext("GN", 2, 2) > mtext("CN", 4, 2, at=0) > par(oldp)------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Adams, Jean Sent: Wednesday, October 12, 2016 12:44 PM To: Adrian Johnson Cc: r-help Subject: Re: [R] barplot beside=TRUE - values differ on scales Adrian, Very interesting. What do you think of using colors to indicate the five possible loss/gain levels? For example: a <- structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" ))) loss.gain <- c(-2, -1, 0, 1, 2) colorz <- c("blue", "lightblue", "gray", "orange", "red") barplot(a["GN", ], col=colorz[match(a["CN", ], loss.gain)]) Jean On Wed, Oct 12, 2016 at 11:55 AM, Adrian Johnson <oriolebaltimore at gmail.com> wrote:> Hi Adams, > The story I am trying to show visually relationship between GN and CN > for every column. Each column represents a patient. In each patient, a > particular chromosome region (CN) is either lost (-2 or -1) or gained > (1 or 2). Typically if loss (one copy loss - as humans have pair of > chromosome) or homozygous (two copies loss) theoretically indicate > decrease in number of copies of gene located in that region of > chromosome. The number of copies of a gene located in that chromosomal > regions are indicated by GN. > through this barplot, I intend to show that in 7 cases (columns) if a > relationship exist by plotting GN and CN next to each other. If I log > values in GN, I am loosing the minor differences between cases in GN. > hope I could convince/explain. > thanks > adrian > > On Wed, Oct 12, 2016 at 12:36 PM, Adams, Jean <jvadams at usgs.gov> wrote: > > Adrian, > > > > What story are you trying to tell? Or what question are you trying to > > answer by visualizing these data? How is a bar plot of these numbers > going > > to help? I'm just wondering if perhaps a different visualization might > make > > more sense, for example, a scatter plot of GN vs. CN. > > > > m <- structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, > > 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", > > "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" > > ))) > > plot(m["GN", ], m["CN", ]) > > > > Jean > > > > > > On Wed, Oct 12, 2016 at 11:20 AM, Adrian Johnson < > oriolebaltimore at gmail.com> > > wrote: > >> > >> Dear group, > >> I have been struggling to barplot two different measurements from one > >> subject. These two measures differ in range. I want to plot row 1 > >> axis on left side and row 2 values on right side. > >> > >> For a given column I want to plot GN and CN next to each other. > >> > >> my dput code is below > >> : > >> > >> structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, > >> 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", > >> "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" > >> ))) > >> > >> > >> As you can see: > >> DC5 DC8 DC14 DC18 DC19 DC20 DC23 > >> GN 112 579 131 2234 2892 528 582 > >> CN 0 1 1 2 1 0 2 > >> > >> GN values are range from 100 - 3000 > >> while CN are always -2 or -1 or 0 or 1 or 2 > >> > >> Also I cannot log GN values and plot because a difference in 100 units > >> also matters in my experiment. > >> > >> Any help would be greatly appreciated. > >> > >> Thanks > >> Adrian > >> > >> ______________________________________________ > >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > >> https://stat.ethz.ch/mailman/listinfo/r-help > >> PLEASE do read the posting guide > >> http://www.R-project.org/posting-guide.html > >> and provide commented, minimal, self-contained, reproducible code. > >> > > > >[[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Hello Dr. Carlson, thanks for the tip. It is exactly what I am looking for. I see the trick lies in axis(4, c(-1000, -500, 0, 500, 1000), c(-2, -1, 0, 1, 2)) Would you please help understand why two different vectors of ranges are defined and yet I see only vector with -2,-1,0,1,2 is visible. Thanks a lot. Adrian On Wed, Oct 12, 2016 at 3:46 PM, David L Carlson <dcarlson at tamu.edu> wrote:> Are you looking for something like this? > > Assuming your data is d: > >> d[2, ] <- d[2, ]*500 >> oldp <- par(mar=c(4.1, 4.1, 4.1, 4.1)) >> barplot(d, ylim=c(-1000, 3000), beside=TRUE, axes=FALSE) >> axis(2, c(0, 1000, 2000, 3000)) >> axis(4, c(-1000, -500, 0, 500, 1000), c(-2, -1, 0, 1, 2)) >> mtext("GN", 2, 2) >> mtext("CN", 4, 2, at=0) >> par(oldp) > > > > ------------------------------------- > David L Carlson > Department of Anthropology > Texas A&M University > College Station, TX 77840-4352 > > > > -----Original Message----- > From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Adams, Jean > Sent: Wednesday, October 12, 2016 12:44 PM > To: Adrian Johnson > Cc: r-help > Subject: Re: [R] barplot beside=TRUE - values differ on scales > > Adrian, > > Very interesting. > > What do you think of using colors to indicate the five possible loss/gain > levels? > For example: > > a <- structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, > 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", > "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" > ))) > > loss.gain <- c(-2, -1, 0, 1, 2) > colorz <- c("blue", "lightblue", "gray", "orange", "red") > barplot(a["GN", ], col=colorz[match(a["CN", ], loss.gain)]) > > Jean > > On Wed, Oct 12, 2016 at 11:55 AM, Adrian Johnson <oriolebaltimore at gmail.com> > wrote: > >> Hi Adams, >> The story I am trying to show visually relationship between GN and CN >> for every column. Each column represents a patient. In each patient, a >> particular chromosome region (CN) is either lost (-2 or -1) or gained >> (1 or 2). Typically if loss (one copy loss - as humans have pair of >> chromosome) or homozygous (two copies loss) theoretically indicate >> decrease in number of copies of gene located in that region of >> chromosome. The number of copies of a gene located in that chromosomal >> regions are indicated by GN. >> through this barplot, I intend to show that in 7 cases (columns) if a >> relationship exist by plotting GN and CN next to each other. If I log >> values in GN, I am loosing the minor differences between cases in GN. >> hope I could convince/explain. >> thanks >> adrian >> >> On Wed, Oct 12, 2016 at 12:36 PM, Adams, Jean <jvadams at usgs.gov> wrote: >> > Adrian, >> > >> > What story are you trying to tell? Or what question are you trying to >> > answer by visualizing these data? How is a bar plot of these numbers >> going >> > to help? I'm just wondering if perhaps a different visualization might >> make >> > more sense, for example, a scatter plot of GN vs. CN. >> > >> > m <- structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, >> > 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", >> > "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" >> > ))) >> > plot(m["GN", ], m["CN", ]) >> > >> > Jean >> > >> > >> > On Wed, Oct 12, 2016 at 11:20 AM, Adrian Johnson < >> oriolebaltimore at gmail.com> >> > wrote: >> >> >> >> Dear group, >> >> I have been struggling to barplot two different measurements from one >> >> subject. These two measures differ in range. I want to plot row 1 >> >> axis on left side and row 2 values on right side. >> >> >> >> For a given column I want to plot GN and CN next to each other. >> >> >> >> my dput code is below >> >> : >> >> >> >> structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, >> >> 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", >> >> "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" >> >> ))) >> >> >> >> >> >> As you can see: >> >> DC5 DC8 DC14 DC18 DC19 DC20 DC23 >> >> GN 112 579 131 2234 2892 528 582 >> >> CN 0 1 1 2 1 0 2 >> >> >> >> GN values are range from 100 - 3000 >> >> while CN are always -2 or -1 or 0 or 1 or 2 >> >> >> >> Also I cannot log GN values and plot because a difference in 100 units >> >> also matters in my experiment. >> >> >> >> Any help would be greatly appreciated. >> >> >> >> Thanks >> >> Adrian >> >> >> >> ______________________________________________ >> >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> >> https://stat.ethz.ch/mailman/listinfo/r-help >> >> PLEASE do read the posting guide >> >> http://www.R-project.org/posting-guide.html >> >> and provide commented, minimal, self-contained, reproducible code. >> >> >> > >> >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
As Dr.Murdoch suggested, transformation of row 2 is important to make sense in graphical depiction. Thanks to all. On Wed, Oct 12, 2016 at 4:25 PM, Adrian Johnson <oriolebaltimore at gmail.com> wrote:> Hello Dr. Carlson, > thanks for the tip. It is exactly what I am looking for. > > I see the trick lies in > axis(4, c(-1000, -500, 0, 500, 1000), c(-2, -1, 0, 1, 2)) > > Would you please help understand why two different vectors of ranges > are defined and yet I see only vector with -2,-1,0,1,2 is visible. > > Thanks a lot. > Adrian > > > > > > On Wed, Oct 12, 2016 at 3:46 PM, David L Carlson <dcarlson at tamu.edu> wrote: >> Are you looking for something like this? >> >> Assuming your data is d: >> >>> d[2, ] <- d[2, ]*500 >>> oldp <- par(mar=c(4.1, 4.1, 4.1, 4.1)) >>> barplot(d, ylim=c(-1000, 3000), beside=TRUE, axes=FALSE) >>> axis(2, c(0, 1000, 2000, 3000)) >>> axis(4, c(-1000, -500, 0, 500, 1000), c(-2, -1, 0, 1, 2)) >>> mtext("GN", 2, 2) >>> mtext("CN", 4, 2, at=0) >>> par(oldp) >> >> >> >> ------------------------------------- >> David L Carlson >> Department of Anthropology >> Texas A&M University >> College Station, TX 77840-4352 >> >> >> >> -----Original Message----- >> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Adams, Jean >> Sent: Wednesday, October 12, 2016 12:44 PM >> To: Adrian Johnson >> Cc: r-help >> Subject: Re: [R] barplot beside=TRUE - values differ on scales >> >> Adrian, >> >> Very interesting. >> >> What do you think of using colors to indicate the five possible loss/gain >> levels? >> For example: >> >> a <- structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, >> 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", >> "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" >> ))) >> >> loss.gain <- c(-2, -1, 0, 1, 2) >> colorz <- c("blue", "lightblue", "gray", "orange", "red") >> barplot(a["GN", ], col=colorz[match(a["CN", ], loss.gain)]) >> >> Jean >> >> On Wed, Oct 12, 2016 at 11:55 AM, Adrian Johnson <oriolebaltimore at gmail.com> >> wrote: >> >>> Hi Adams, >>> The story I am trying to show visually relationship between GN and CN >>> for every column. Each column represents a patient. In each patient, a >>> particular chromosome region (CN) is either lost (-2 or -1) or gained >>> (1 or 2). Typically if loss (one copy loss - as humans have pair of >>> chromosome) or homozygous (two copies loss) theoretically indicate >>> decrease in number of copies of gene located in that region of >>> chromosome. The number of copies of a gene located in that chromosomal >>> regions are indicated by GN. >>> through this barplot, I intend to show that in 7 cases (columns) if a >>> relationship exist by plotting GN and CN next to each other. If I log >>> values in GN, I am loosing the minor differences between cases in GN. >>> hope I could convince/explain. >>> thanks >>> adrian >>> >>> On Wed, Oct 12, 2016 at 12:36 PM, Adams, Jean <jvadams at usgs.gov> wrote: >>> > Adrian, >>> > >>> > What story are you trying to tell? Or what question are you trying to >>> > answer by visualizing these data? How is a bar plot of these numbers >>> going >>> > to help? I'm just wondering if perhaps a different visualization might >>> make >>> > more sense, for example, a scatter plot of GN vs. CN. >>> > >>> > m <- structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, >>> > 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", >>> > "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" >>> > ))) >>> > plot(m["GN", ], m["CN", ]) >>> > >>> > Jean >>> > >>> > >>> > On Wed, Oct 12, 2016 at 11:20 AM, Adrian Johnson < >>> oriolebaltimore at gmail.com> >>> > wrote: >>> >> >>> >> Dear group, >>> >> I have been struggling to barplot two different measurements from one >>> >> subject. These two measures differ in range. I want to plot row 1 >>> >> axis on left side and row 2 values on right side. >>> >> >>> >> For a given column I want to plot GN and CN next to each other. >>> >> >>> >> my dput code is below >>> >> : >>> >> >>> >> structure(c(112L, 0L, 579L, 1L, 131L, 1L, 2234L, 2L, 2892L, 1L, >>> >> 528L, 0L, 582L, 2L), .Dim = c(2L, 7L), .Dimnames = list(c("GN", >>> >> "CN"), c("DC5", "DC8", "DC14", "DC18", "DC19", "DC20", "DC23" >>> >> ))) >>> >> >>> >> >>> >> As you can see: >>> >> DC5 DC8 DC14 DC18 DC19 DC20 DC23 >>> >> GN 112 579 131 2234 2892 528 582 >>> >> CN 0 1 1 2 1 0 2 >>> >> >>> >> GN values are range from 100 - 3000 >>> >> while CN are always -2 or -1 or 0 or 1 or 2 >>> >> >>> >> Also I cannot log GN values and plot because a difference in 100 units >>> >> also matters in my experiment. >>> >> >>> >> Any help would be greatly appreciated. >>> >> >>> >> Thanks >>> >> Adrian >>> >> >>> >> ______________________________________________ >>> >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> >> https://stat.ethz.ch/mailman/listinfo/r-help >>> >> PLEASE do read the posting guide >>> >> http://www.R-project.org/posting-guide.html >>> >> and provide commented, minimal, self-contained, reproducible code. >>> >> >>> > >>> >>> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code.