[R] Equal number of cuts in a contourplot with trellis
Deepayan Sarkar
deepayan.sarkar at gmail.com
Thu Jan 12 17:47:26 CET 2006
On 1/12/06, Jesus Frias <Jesus.Frias at dit.ie> wrote:
> Dear R-helpers,
>
> I need some help to produce a set of contour plots that I am
> trying to make in order to compare surfaces between the levels of a
> factor. For example:
>
> library(lattice)
> g <- expand.grid(x = 60:100, y = 1:25, ti = c("a","b","c"))
> g$z <-with(g,
> (-1e-4*x-1e-3*y-1e-5*x*y)*(ti=="a") +
> (1e-2*x-1e-3*y-1e-4*x*y)*(ti=="b") +
> (1e-3*x-1e-3*y-1.e-5*x*y)*(ti=="c")
> )
>
> contourplot(z~ x * y|ti, data = g,
> cuts=20,
> pretty=T,
> screen = list(z = 30, x = -60))
>
> As you can see in the figure, most of the contour lines are in one of
> the levels and we are not able to see how the other levels look like.
>
> I would like to display the same number of cuts in each of the trellis.
> I can make each of the contourplots separately and control the number of
> cuts but I am not able to plot all of them in one.
The simplest solution is to recompute the levels for each panel function:
contourplot(z~ x * y|ti, data = g,
label.style = "align",
panel = function(x, y, z, subscripts, at, ...) {
at <- pretty(z[subscripts], 10)
panel.contourplot(x, y, z,
subscripts = subscripts,
at = at,
...)
})
Alternatively, you could pass in a suitable 'at' vector computed externally.
Deepayan
--
http://www.stat.wisc.edu/~deepayan/
More information about the R-help
mailing list