From ripley at stats.ox.ac.uk  Mon Mar 13 18:55:48 2006
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Mon, 13 Mar 2006 17:55:48 +0000 (GMT)
Subject: [Rd] [R] dotchart: Gap between text and chart (PR#8681)
In-Reply-To: <20060313173301.4874F102CB@slim.kubism.ku.dk>
References: <20060313173301.4874F102CB@slim.kubism.ku.dk>
Message-ID: <Pine.LNX.4.64.0603131752560.4969@gannet.stats.ox.ac.uk>

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



[Rd] [R] dotchart: Gap between text and chart (PR#8681)
Prof Brian Ripley