[R] Plotting question: Problem with strwidth in 2.7.1
Peter Dalgaard
P.Dalgaard at biostat.ku.dk
Mon Jun 30 16:06:46 CEST 2008
Lauri Nikkinen wrote:
> R users,
>
> I have a problem with function strwidth in 2.7.1. I'm trying to set
> the plot margins in a way that horizontal
> column labels will fit to the graph. tmp.t is a list of data.frame
> objects. This code works well in 2.6.0.
>
>
I don't think this has to do with stringwidth at all:
> bmp(filename="foo.bmp",width=1038, height=820, res=1200)
> plot(0)
Error in plot.new() : figure margins too large
(width and height are in pixels, so at 1200dpi, the plotting area is
less than one inch. What did you intend?)
BTW: The fudge factor of 4.5 might be better estimated from
par(c("cin","cex","lheight")).
> ...snip..
> library(gplots)
> for (i in names(tmp.t)) {
> bmp(filename=paste(i, "_", Sys.Date(), ".bmp", sep=""),
> width=1038, height=820, res=1200)
> maxim <- max(strwidth(as.character(colnames(tmp.t[[i]])),
> units="inches"))*4.5
> opar <- par(mar=c(3,maxim,2,2), bg="white", cex=1.6, oma =
> c(0, 0, 2, 0), mgp=c(3,0.5,0), xpd=TRUE)
> colo <- c("red", "lightblue1", "orange", "yellow")
> xmax <- max(unlist(lapply(tmp.t[i], function(x) apply(x, 2,
> sum))) + 15)
> bar <- barplot2(tmp.t[[i]],
> horiz=TRUE,
> names.arg=as.character(colnames(tmp.t[[i]])),
> las=1,
> cex.names=0.7,
> cex.main=0.9,
> cex.axis=0.7,
> xlim=c(0, xmax),
> col=colo,
> plot.grid = TRUE
> )
> box()
> dev.off()
> }
> ...snip...
>
> Now running this script I get an error message
>
> Error in plot.new() : figure margins too large
>
> I found from http://cran.r-project.org/src/base/NEWS that
>
> o Use of strwidth/height(units="user") (the default) is again an
> error before a user coordinate system has been set on the
> device, rather than giving nonsensical values (the effect of
> r31367).
>
> Does this have something to do with my problem? How should I modify my
> code to get it work in R 2.7.1?
>
> Thanks
> Lauri
>
>
>> sessionInfo()
>>
> R version 2.7.1 (2008-06-23)
> i386-pc-mingw32
>
> locale:
> LC_COLLATE=Finnish_Finland.1252;LC_CTYPE=Finnish_Finland.1252;LC_MONETARY=Finnish_Finland.1252;LC_NUMERIC=C;LC_TIME=Finnish_Finland.1252
>
> attached base packages:
> [1] tcltk stats graphics grDevices utils datasets methods
> [8] base
>
> other attached packages:
> [1] TeachingDemos_2.2 tkrplot_0.0-18 gplots_2.6.0 gdata_2.4.2
> [5] gtools_2.5.0 RODBC_1.2-3
>
> loaded via a namespace (and not attached):
> [1] tools_2.7.1
>
> ______________________________________________
> 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.
>
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list