[R] help on plotting series with different x-axis values on a graph with one x-axis
jim at bitwrit.com.au
Mon Feb 11 11:57:51 CET 2013
On 02/09/2013 11:52 PM, Eike Marie Thaysen wrote:
> I have run into this problem a couple of times now and hope you can help!
> If I want to plot mulitiple series with differing x-axis values (however, all in the same range) in 1 plot with one common axis R obstruses the plots.
> E.g. if I plot water content against time and I start with the sampler at 5 cm depth, it plots that one right.
> But the next depth, 15 cm, is measured at slightly different time intervals and so R will not plot the series correctly.
> Reading in the data using “ stringsAsFactors=FALSE” helps, but the lines are still plottet in an akward fashion (edgy) , see attached image.
> Hope you can help!
I'll do a bit of guessing to see if it helps. First, I think that your
times are being read in as factors (they are probably formatted like "11
Feb 2013 13:23:37" or similar and read as character strings). As you are
probably sampling at fairly equal intervals, the fact that the factors
are represented by integers starting with 1 may look okay. What you may
want is to convert these to date/time objects (say the data frame is
"mydata" and the times are "sample_time"):
format="%d %b %Y %H:%M:%S")
or something like that. Then the x axis will be in units of date/time
and your second series will be plotted correctly. By calling the lines
"edgy" perhaps you mean that they are not smooth curves. You may want to
use the "approx" function or a smoothing function to smooth out the
lines and plot those curves instead.
Having the data would help, so if you could "dput" your data or a small
subset of it, we could give better suggestions.
More information about the R-help