Legend frame error (PR#9236)
tgibson at augustcouncil.com writes:
Hello, The frame drawn around the legend appears to miscalculate when the x-axis decreases rather than increases. Pasted below is a simple testcase. When the x-axis decreases, the width of the legend frame appears to be calculated based on the length of the first item, rather than the maximum length of all items.
More likely, it is calculating the maximum of the endpoints, which
will of course be the one furthest to the left if the x axis is
reversed. (As reordering the legends would have shown you.)
The construction
if (is.null(text.width))
text.width <- max(strwidth(legend, units = "user", cex = cex))
else if (!is.numeric(text.width) || text.width < 0)
stop("'text.width' must be numeric, >= 0")
seems to be the culprit. max() should be min() in the reversed case.
And if I'm not mistaken, there's an additional issue: If the x axis is
reversed, an explicit text.width setting should in fact be negative.
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