murdoch@stats.uwo.ca
2006-Mar-13 17:33 UTC
[Rd] [R] dotchart: Gap between text and chart (PR#8681)
(Moved from r-help) On 3/13/2006 9:33 AM, Dietrich Trenkler wrote:> I have some data which I would like to display with dotchart. The > labels are very long, so the chart becomes too small. Setting cex=0.7 > seems to be a good compromise, but the gap between the text and the > chart still is too large. I did not find a "gap" parameter in the > description of dotchart... > > Thanks for any help. > > D. Trenkler > > > "a" <- structure(c(103.35, 36.73, 55.09, 302.66, 68.54, 35.46, > 138.65, 25.21, 110.85, 6.66, 46.57, 70.23), .Names = > c("Nahrungsmittel und alkoholfreie Getraenke", > "Alkoholische Getraenke, Tabakwaren", "Bekleidung und Schuhe", > "Wohnungsmieten, Energie", "Einrichtungsgegenstaende", > "Gesundheitspflege", > "Verkehr", "Nachrichtenuebermittlung", "Freizeit, Unterhaltung und > Kultur", > "Bildungswesen", "Beherbergungs und Gaststaettendienstleistungen", > "Andere Waren und Dienstleistungen")) > > dotchart(sort(a)) > dotchart(sort(a),cex=0.7)I've determined that this is a bug in dotchart. It miscalculates the height of a line of text in the right margin, using lheight <- strheight("M", "inch") which doesn't give the right answer. You get the correct answer in this case by putting lheight <- par("mai")[2]/par("mar")[2] but that's not a general solution, as the denominator may be zero. I'll look for a better solution. Duncan Murdoch
Prof Brian Ripley
2006-Mar-13 17:55 UTC
[Rd] [R] dotchart: Gap between text and chart (PR#8681)
On Mon, 13 Mar 2006, murdoch at stats.uwo.ca wrote:> (Moved from r-help) > > On 3/13/2006 9:33 AM, Dietrich Trenkler wrote: >> I have some data which I would like to display with dotchart. The >> labels are very long, so the chart becomes too small. Setting cex=0.7 >> seems to be a good compromise, but the gap between the text and the >> chart still is too large. I did not find a "gap" parameter in the >> description of dotchart... >> >> Thanks for any help. >> >> D. Trenkler >> >> >> "a" <- structure(c(103.35, 36.73, 55.09, 302.66, 68.54, 35.46, >> 138.65, 25.21, 110.85, 6.66, 46.57, 70.23), .Names >> c("Nahrungsmittel und alkoholfreie Getraenke", >> "Alkoholische Getraenke, Tabakwaren", "Bekleidung und Schuhe", >> "Wohnungsmieten, Energie", "Einrichtungsgegenstaende", >> "Gesundheitspflege", >> "Verkehr", "Nachrichtenuebermittlung", "Freizeit, Unterhaltung und >> Kultur", >> "Bildungswesen", "Beherbergungs und Gaststaettendienstleistungen", >> "Andere Waren und Dienstleistungen")) >> >> dotchart(sort(a)) >> dotchart(sort(a),cex=0.7) > > I've determined that this is a bug in dotchart. It miscalculates the > height of a line of text in the right margin, using > > lheight <- strheight("M", "inch") > > which doesn't give the right answer. You get the correct answer in this > case by putting > > lheight <- par("mai")[2]/par("mar")[2] > > but that's not a general solution, as the denominator may be zero. > > I'll look for a better solution.Like setting mai not mar? The ratio is par("csi"), by the way. -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595