That worked! Thank you again for your help. - Fincher
On Fri, May 14, 2010 at 12:33, Marc Schwartz <marc_schwa...@me.com> wrote: > Justin, > > Try something like this: > > par(mfrow = c(2, 1)) > > drawGffPlots2(data1, data2, trackingDye = TRUE, > slice = "chr13", newDev = 0) > > plot(densities_subset$V4, densities_subset$V6, type = "h", > xlim = par("usr")[1:2], > xaxs = "i", > xlab = "Position", ylab = "Gene Density") > > > Using 'xaxs = "i"' in the second call to plot() should fix the x axis range > at the exact values passed for 'xlim'. > > > HTH, > > Marc > > > On May 14, 2010, at 11:09 AM, Justin Fincher wrote: > > > Thank you for your reply, but I have additional questions. I agree that > getting the common ranges before plotting would be the best scenario, it is > just complicated by the fact that the first plot is generated with a > function where all the data is passed in and within the function the data is > subset and plotted so I don't have control over the parameters of the plot. > That is why I am trying to just make the second plot (the one I have > complete control over) match up. I tried the par("usr") but am having an > odd result. Below is from my R console. > > > > > par(mfrow=c(2,1)) > > > drawGffPlots2(data1,data2,trackingDye=TRUE,slice="chr13",newDev=0) > > NULL > > > par("usr")[1] > > [1] 14215173 > > > > plot(densities_subset$V4,densities_subset$V6,type="h",xlim=c(par("usr")[1],par("usr")[2]),xlab="Position",ylab="Gene > Density") > > > par("usr")[1] > > [1] 10062761 > > > > This creates two rows, runs the function which populates the first row, > then I check the parameter you suggested so that I may use it for the second > plot. I then pass it to plot(), but the axes still don't line up so I check > the same parameter after the second plot has been drawn and it is very > different. Should par("usr")[1] not be exactly the same the second time I > display it as I passed it as the minimum for the second plot? Any help > would be appreciated. > > > > - Fincher > > > > > > On Fri, May 14, 2010 at 11:45, Marc Schwartz <marc_schwa...@me.com> > wrote: > > On May 14, 2010, at 9:59 AM, Justin Fincher wrote: > > > > > I have two datasets that I would like to plot in a single figure. The > first > > > plot is generated by a function that then takes a subset of the data. > (It > > > is biological data so it is usually by chromosome e.g. > > > function(data1,subset="chr8") ) Since not only are the chromosomes > different > > > sizes, but across different datasets there may be different numbers of > > > points for a single chromosome, I do not know the coordinates on the > x-axis > > > prior to running the function. > > > > > > I want the scale of the second plot to align to that of the first, but > I > > > don't know how to find the default xlim for the graph generated by the > > > function. Is there any way to access this information so I can then > pass it > > > to the plot() of the second plot? Thanks! > > > > > > - Fincher > > > > > > The result of par("usr") will give you the actual limits of the x and y > axes (plot region) once the first graphic is drawn to the device. See ?par > for more information. Note that by default, R will extend the data ranges by > 4% (see 'xaxs' in ?par). > > > > However, you are better off getting the common ?range of the relevant > values in both subsets of data before plotting and then explicitly set the > same x and y axis ranges in each plot by using the 'xlim' and 'ylim' > arguments to plot(). > > > > HTH, > > > > Marc Schwartz > > > > > > > > -- > > This message has been scanned for viruses and > > dangerous content by MailScanner, and is > > believed to be clean. > > > > > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list 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.