Mark Heckmann
2008-Dec-17 16:11 UTC
[R] Shrink Trellis margins settings (when printed to png file)
Dear R-experts,
I have two problems:
PROBLEM (1)
-----------
I want to produce a very small png file (35 x 18 px) that contains a
histogram without a figure region or margins, only the pure heights.
In the base graphic system this is simple:
png(filename = "hist.png", res = 72, width=35, height=18)
par(mar=c(0,0,0,0), oma=c(0,0,0,0))
hist(rnorm(100), main="")
dev.off()
Now I want a grid graphics output as I need the graphic as an object.
I tried several trellis.par settings but I was not able to figure it out
(PROBLEM (1)).
Up to now it looks like this:
library(lattice)
histogram(rnorm(100), xlab="", ylab="",
par.settings=list(
axis.line=list(col="transparent"),
xlab.text=list(col="transparent"),
ylab.text=list(col="transparent"),
axis.text=list(col="transparent"))
)
This looks acceptable although I would like smaller margins, that is to say
no margins at all. How cab I achieve that?
PROBLEM (2)
-----------
Now is, that when it is printed to the png file, the graphic almost consist
of margins only. The main part of the plot shrinks to some tiny points.
I don't know how to change the settings, so I that I get the same as in the
base system.
Does anyone know?
TIA
Mark
Deepayan Sarkar
2008-Dec-17 20:45 UTC
[R] Shrink Trellis margins settings (when printed to png file)
On Wed, Dec 17, 2008 at 8:11 AM, Mark Heckmann <mark.heckmann at gmx.de> wrote:> Dear R-experts, > > I have two problems: > > PROBLEM (1) > ----------- > > I want to produce a very small png file (35 x 18 px) that contains a > histogram without a figure region or margins, only the pure heights. > In the base graphic system this is simple: > > png(filename = "hist.png", res = 72, width=35, height=18) > par(mar=c(0,0,0,0), oma=c(0,0,0,0)) > hist(rnorm(100), main="") > dev.off() > > Now I want a grid graphics output as I need the graphic as an object. > I tried several trellis.par settings but I was not able to figure it outYou could do it this way if you really want, but a better approach would be to directly plot the pieces you want (rather than start with a high-level solution and get rid of the pieces you don't want). For example: library(lattice) library(grid) x <- rnorm(100) limits <- prepanel.default.histogram(x, breaks = NULL) ## grid.newpage() # to start a new page pushViewport(viewport(xscale = extendrange(limits$xlim), yscale = extendrange(limits$ylim))) panel.histogram(x, breaks = NULL) -Deepayan> (PROBLEM (1)). > > Up to now it looks like this: > > library(lattice) > histogram(rnorm(100), xlab="", ylab="", > par.settings=list( > axis.line=list(col="transparent"), > xlab.text=list(col="transparent"), > ylab.text=list(col="transparent"), > > axis.text=list(col="transparent")) > ) > > This looks acceptable although I would like smaller margins, that is to say > no margins at all. How cab I achieve that? > > > > PROBLEM (2) > ----------- > Now is, that when it is printed to the png file, the graphic almost consist > of margins only. The main part of the plot shrinks to some tiny points. > > I don't know how to change the settings, so I that I get the same as in the > base system. > > Does anyone know? > > > TIA > Mark > > ______________________________________________ > R-help at 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. >
Apparently Analagous Threads
- Trellis margins settings so that they are like a base graphic with no figure region when printed to png file?
- "figure margins too large" in RGtk2 drawing area as cairo device - why?
- trellis margin sizes in absolute units
- changing the drawing context using Cairo and RGtk2
- plot.dendrogram() plot margins