Greetings --
Graphics newbie (I generally don't use R for graphics, so if the
question is 'obvious', point that out gently ;-)
I'm trying to use levelplot in the lattice package, to generate what
I'll call a 'decision table', where optimal decisions (discrete, on the
interval [0.0,0.5] by increments of 0.1) from a dynamic programming
problem are plotted as a function of time since the time horizon. The
'matrix' I'm trying to plot is 100 rows x 10 columns. While using the
following works, more or less...
rgb.palette <- colorRampPalette(c("red", "green"), space = "rgb")
levelplot(t(results$policy), main="optimal harvest", xlab="time from
end", ylab="state (N)", col.regions=rgb.palette(6), cuts=6,
at=seq(0,0.5,0.1))
the rendered figure is waaaaay too narrow. I want to make the
proportions of the 'levelplot' (what I usually call a 'heat map') square
(or something else that I specify). I'm used to dedicated graphics
applications wherew I simply grab the figure and resize it to whatever
aspect ratio I want. Obviously, with R, I need to invoke some sort of
command line argument.
In my searches, I've found a fair number of queries/answers about how to
change the size of the graphics windows, but I could care lerss what the
graphics window sizing is (presumably, it should adjust to whatever the
size of the underlying graphic is). I want to 'hard code' the dimensions
of the graphic itself, not the window it's rendered in.
I'm sure the answer is out there, but I've been unsuccessful at finding
the magic keywords in my searches.
Thanks in advance.
specifying dimensions of a graphic (not the window...)
2 messages · Evan Cooch
On 2/8/2015 7:41 PM, Evan Cooch wrote:
Greetings --
Graphics newbie (I generally don't use R for graphics, so if the
question is 'obvious', point that out gently ;-)
I'm trying to use levelplot in the lattice package, to generate what
I'll call a 'decision table', where optimal decisions (discrete, on
the interval [0.0,0.5] by increments of 0.1) from a dynamic
programming problem are plotted as a function of time since the time
horizon. The 'matrix' I'm trying to plot is 100 rows x 10 columns.
While using the following works, more or less...
rgb.palette <- colorRampPalette(c("red", "green"), space = "rgb")
levelplot(t(results$policy), main="optimal harvest", xlab="time from
end", ylab="state (N)", col.regions=rgb.palette(6), cuts=6,
at=seq(0,0.5,0.1))
Sufficient solution to the problem for now -- adding the option aspect="fill" fills the window, and if I specify the size of the window, then this amounts to the same thing, more or less. Seems kind of a backward way to do it. I'd have thought setting size of the graphic, and then having the window size change dynamically around said graphic, would have been more intuitive.