Dalthorp, Daniel
2016-Jul-28 23:22 UTC
[R] font size in graphs...can R read Windows settings?
Thanks, Duncan. This is close to what I was looking for. But I'm not using
lattice. And the fontsize$text and fontsize$points are independent of
display settings in Windows (screen resolution and 'size of objects').
I need to make my graphs [esp. placement and size of text(), mtext()] look
good regardless of display settings.
Here's what I'm working with at the moment...
When package is loaded, I store the default graph size ('din') which is
correlated with OS display parameters. Then, I simply multiple my current
'cex' values by the stored 'din' divided by 7 (which is the
'din'
associated with the display parameters that I created the figs in
initially). It seems to work just fine for my text() and mtext() text
sizes.
But some of my algorithms for placing text and subfigs in margins still
need fixing...combinations of 'plt' and 'usr' seem to be
working, but it's
tedious.
-Dan
On Wed, Jul 27, 2016 at 8:43 PM, Duncan Mackay <dulcalma at bigpond.com>
wrote:
> Hi Dan
>
> For devices png, pdf, postscript and ? others the pointsize argument
> controls the font size which is modified by cex
>
> For lattice there are the settings in trellis.par.get()
>
> trellis.par.get()$fontsize
> $text
> [1] 12
>
> $points
> [1] 8
>
> which you can set and there is no real need to change font size except if
> you need to change main.
> trellis.par.get()$grid.pars are the settings for grid elements if used eg
> text
>
> these could be set globally by trellis.par.set() or individually with
> argument par.settings eg
> xyplot(y ~ x, data = datm,
> par.settings = list(strip.background = list(col >
"transparent"),
> fontsize = list(text = 16,
>
> points = 12), # large size; need to refine
> superpose.polygon= list(col
> = c("red","blue"),
>
> border = c("red","blue"))),
> type = "b")
>
> Regards
>
> Duncan
>
> Duncan Mackay
> Department of Agronomy and Soil Science
> University of New England
> Armidale NSW 2351
> Email: home: mackay at northnet.com.au
>
> -----Original Message-----
> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of
Dalthorp,
> Daniel
> Sent: Thursday, 28 July 2016 07:02
> To: r-help at R-project.org (r-help at r-project.org)
> Subject: [R] font size in graphs...can R read Windows settings?
>
> Hi All,
> I am putting together a package that (among other things) draws some nice
> graphs for users. I place some explanatory text on figs using
"text" and
> "mtext". But the size of the text depends on the Windows display
settings:
> Smaller (100%), medium (125%) or larger (150%) (In Windows 7... Control
> panel | Appearance and personalization | Display | Make text and other
> items smaller or larger). If I create figs that look good with one setting,
> the text is too big (or too small) if another setting is used in Windows.
> If I know the Windows setting, I can use cex in R to make the right sized
> labels, but if I don't know a user's Windows display size
setting...is
> there a way for R to read the setting? Or is there another way to control
> label size so that text labels on graphs look good regardless of WIndows
> display size setting?
>
> Many thanks for Ideas,
>
> -Dan
> --
> Dan Dalthorp, PhD
> USGS Forest and Rangeland Ecosystem Science Center
> Forest Sciences Lab, Rm 189
> 3200 SW Jefferson Way
> Corvallis, OR 97331
> ph: 541-750-0953
> ddalthorp at usgs.gov
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>
>
--
Dan Dalthorp, PhD
USGS Forest and Rangeland Ecosystem Science Center
Forest Sciences Lab, Rm 189
3200 SW Jefferson Way
Corvallis, OR 97331
ph: 541-750-0953
ddalthorp at usgs.gov
[[alternative HTML version deleted]]
Duncan Mackay
2016-Jul-29 01:15 UTC
[R] font size in graphs...can R read Windows settings?
Hi Dan
This is one of the features/problems of proportional graphing ? getting it
exactly right.
Anyway good graphs usually take time
I wonder if aspect in both base and lattice may be of use.
Also I have a default par settings for base graphics where I sometimes change
the mai command for multiple graphs and rarely the font size.
par(mfrow = c(1,1),
las = 1,
mai = c(0.85, 0.85, 0.32, 0.12),
font.main = 1,
cex.main = 1.0,
cex.lab = 1.0,
cex.axis = 0.9)
Duncan
From: Dalthorp, Daniel [mailto:ddalthorp at usgs.gov]
Sent: Friday, 29 July 2016 09:22
To: Duncan Mackay
Cc: R
Subject: Re: [R] font size in graphs...can R read Windows settings?
Thanks, Duncan. This is close to what I was looking for. But I'm not using
lattice. And the fontsize$text and fontsize$points are independent of display
settings in Windows (screen resolution and 'size of objects').
I need to make my graphs [esp. placement and size of text(), mtext()] look good
regardless of display settings.
Here's what I'm working with at the moment...
When package is loaded, I store the default graph size ('din') which is
correlated with OS display parameters. Then, I simply multiple my current
'cex' values by the stored 'din' divided by 7 (which is the
'din' associated with the display parameters that I created the figs in
initially). It seems to work just fine for my text() and mtext() text sizes.
But some of my algorithms for placing text and subfigs in margins still need
fixing...combinations of 'plt' and 'usr' seem to be working, but
it's tedious.
-Dan
On Wed, Jul 27, 2016 at 8:43 PM, Duncan Mackay <dulcalma at bigpond.com>
wrote:
Hi Dan
For devices png, pdf, postscript and ? others the pointsize argument
controls the font size which is modified by cex
For lattice there are the settings in trellis.par.get()
trellis.par.get()$fontsize
$text
[1] 12
$points
[1] 8
which you can set and there is no real need to change font size except if
you need to change main.
trellis.par.get()$grid.pars are the settings for grid elements if used eg
text
these could be set globally by trellis.par.set() or individually with
argument par.settings eg
xyplot(y ~ x, data = datm,
par.settings = list(strip.background = list(col
"transparent"),
fontsize = list(text = 16,
points = 12), # large size; need to refine
superpose.polygon= list(col
= c("red","blue"),
border = c("red","blue"))),
type = "b")
Regards
Duncan
Duncan Mackay
Department of Agronomy and Soil Science
University of New England
Armidale NSW 2351
Email: home: mackay at northnet.com.au
-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Dalthorp,
Daniel
Sent: Thursday, 28 July 2016 07:02
To: r-help at R-project.org (r-help at r-project.org)
Subject: [R] font size in graphs...can R read Windows settings?
Hi All,
I am putting together a package that (among other things) draws some nice
graphs for users. I place some explanatory text on figs using "text"
and
"mtext". But the size of the text depends on the Windows display
settings:
Smaller (100%), medium (125%) or larger (150%) (In Windows 7... Control
panel | Appearance and personalization | Display | Make text and other
items smaller or larger). If I create figs that look good with one setting,
the text is too big (or too small) if another setting is used in Windows.
If I know the Windows setting, I can use cex in R to make the right sized
labels, but if I don't know a user's Windows display size setting...is
there a way for R to read the setting? Or is there another way to control
label size so that text labels on graphs look good regardless of WIndows
display size setting?
Many thanks for Ideas,
-Dan
--
Dan Dalthorp, PhD
USGS Forest and Rangeland Ecosystem Science Center
Forest Sciences Lab, Rm 189
3200 SW Jefferson Way
Corvallis, OR 97331
ph: 541-750-0953
ddalthorp at usgs.gov
[[alternative HTML version deleted]]
______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
--
Dan Dalthorp, PhD
USGS Forest and Rangeland Ecosystem Science Center
Forest Sciences Lab, Rm 189
3200 SW Jefferson Way
Corvallis, OR 97331
ph: 541-750-0953
ddalthorp at usgs.gov
[[alternative HTML version deleted]]
Dalthorp, Daniel
2016-Jul-29 01:49 UTC
[R] font size in graphs...can R read Windows settings?
The trouble is getting the figs to look right for different users who
happen to have different display settings. Nearly all my users will be on
MS Windows, and, for the parameter set you gave, the figs will look
different, depending on which "display size" parameter value is active
and
the screen resolution (for Windows 7 --- Control Panel | Appearance and
Personalization | Display | Make text and other items larger or smaller).
For example, the following gives different look (for text(), mtext(), axis
labels, etc.) "smaller" than for "larger" or for fine
resolution vs. coarse
resolution. Getting it wrong makes the figs look sloppy and hard to read.
If I knew users' display parameters ahead of time, I could adjust the
drawing algorithms using par parameters, but I don't know the display
parameters. 'din' values at time of package attachment (and after
closing
of open devices) gives a reasonable proxy in a lot of cases but not always.
par(mfrow = c(1,1),
las = 1,
mai = c(0.85, 0.85, 0.32, 0.12),
font.main = 1,
cex.main = 1.0,
cex.lab = 1.0,
cex.axis = 0.9)
plot(0,0)
plot(0,0, type='n')
text(0,0, 'junk')
mtext(side = 3, line = .5, "more junk")
On Thu, Jul 28, 2016 at 6:15 PM, Duncan Mackay <dulcalma at bigpond.com>
wrote:
> Hi Dan
>
>
>
> This is one of the features/problems of proportional graphing ? getting
> it exactly right.
>
>
>
> Anyway good graphs usually take time
>
>
>
> I wonder if aspect in both base and lattice may be of use.
>
> Also I have a default par settings for base graphics where I sometimes
> change the mai command for multiple graphs and rarely the font size.
>
>
>
> par(mfrow = c(1,1),
>
> las = 1,
>
> mai = c(0.85, 0.85, 0.32, 0.12),
>
> font.main = 1,
>
> cex.main = 1.0,
>
> cex.lab = 1.0,
>
> cex.axis = 0.9)
>
>
>
> Duncan
>
>
>
> *From:* Dalthorp, Daniel [mailto:ddalthorp at usgs.gov]
> *Sent:* Friday, 29 July 2016 09:22
> *To:* Duncan Mackay
> *Cc:* R
> *Subject:* Re: [R] font size in graphs...can R read Windows settings?
>
>
>
> Thanks, Duncan. This is close to what I was looking for. But I'm not
using
> lattice. And the fontsize$text and fontsize$points are independent of
> display settings in Windows (screen resolution and 'size of
objects').
>
>
>
> I need to make my graphs [esp. placement and size of text(), mtext()] look
> good regardless of display settings.
>
>
>
> Here's what I'm working with at the moment...
>
>
>
> When package is loaded, I store the default graph size ('din')
which is
> correlated with OS display parameters. Then, I simply multiple my current
> 'cex' values by the stored 'din' divided by 7 (which is the
'din'
> associated with the display parameters that I created the figs in
> initially). It seems to work just fine for my text() and mtext() text
> sizes.
>
>
>
> But some of my algorithms for placing text and subfigs in margins still
> need fixing...combinations of 'plt' and 'usr' seem to be
working, but it's
> tedious.
>
>
>
> -Dan
>
>
>
> On Wed, Jul 27, 2016 at 8:43 PM, Duncan Mackay <dulcalma at
bigpond.com>
> wrote:
>
> Hi Dan
>
> For devices png, pdf, postscript and ? others the pointsize argument
> controls the font size which is modified by cex
>
> For lattice there are the settings in trellis.par.get()
>
> trellis.par.get()$fontsize
> $text
> [1] 12
>
> $points
> [1] 8
>
> which you can set and there is no real need to change font size except if
> you need to change main.
> trellis.par.get()$grid.pars are the settings for grid elements if used eg
> text
>
> these could be set globally by trellis.par.set() or individually with
> argument par.settings eg
> xyplot(y ~ x, data = datm,
> par.settings = list(strip.background = list(col >
"transparent"),
> fontsize = list(text = 16,
>
> points = 12), # large size; need to refine
> superpose.polygon= list(col
> = c("red","blue"),
>
> border = c("red","blue"))),
> type = "b")
>
> Regards
>
> Duncan
>
> Duncan Mackay
> Department of Agronomy and Soil Science
> University of New England
> Armidale NSW 2351
> Email: home: mackay at northnet.com.au
>
> -----Original Message-----
> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of
Dalthorp,
> Daniel
> Sent: Thursday, 28 July 2016 07:02
> To: r-help at R-project.org (r-help at r-project.org)
> Subject: [R] font size in graphs...can R read Windows settings?
>
> Hi All,
> I am putting together a package that (among other things) draws some nice
> graphs for users. I place some explanatory text on figs using
"text" and
> "mtext". But the size of the text depends on the Windows display
settings:
> Smaller (100%), medium (125%) or larger (150%) (In Windows 7... Control
> panel | Appearance and personalization | Display | Make text and other
> items smaller or larger). If I create figs that look good with one setting,
> the text is too big (or too small) if another setting is used in Windows.
> If I know the Windows setting, I can use cex in R to make the right sized
> labels, but if I don't know a user's Windows display size
setting...is
> there a way for R to read the setting? Or is there another way to control
> label size so that text labels on graphs look good regardless of WIndows
> display size setting?
>
> Many thanks for Ideas,
>
> -Dan
> --
> Dan Dalthorp, PhD
> USGS Forest and Rangeland Ecosystem Science Center
> Forest Sciences Lab, Rm 189
> 3200 SW Jefferson Way
> Corvallis, OR 97331
> ph: 541-750-0953
> ddalthorp at usgs.gov
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>
>
>
>
>
> --
>
> Dan Dalthorp, PhD
>
> USGS Forest and Rangeland Ecosystem Science Center
> Forest Sciences Lab, Rm 189
> 3200 SW Jefferson Way
> Corvallis, OR 97331
> ph: 541-750-0953
> ddalthorp at usgs.gov
>
--
Dan Dalthorp, PhD
USGS Forest and Rangeland Ecosystem Science Center
Forest Sciences Lab, Rm 189
3200 SW Jefferson Way
Corvallis, OR 97331
ph: 541-750-0953
ddalthorp at usgs.gov
[[alternative HTML version deleted]]