Как определить размер символа в единицах x и y

Я хотел бы знать приблизительные размеры символа в моей области графика. Я думаю, что par()$ps действительно относится только к размеру текста. Так как же рассчитывается размер символа с помощью параметра cex? Например, ниже приведен график одной точки размером cex=10. Могу ли я определить его размер по номинальным параметрам устройств сюжета?

plot(50, 50, ylim=c(0,100), xlim=c(0,100), cex=10)

#click on outer x limits
p1 <- locator(n=1,typ="n")
p2 <- locator(n=1,typ="n")

#approx width in x units(~15)
abs(p1$x - p2$x)

Спасибо за помощь. -Марк


r par
person Marc in the box    schedule 23.04.2012    source источник
comment
Я считаю, что ответ где-то в ?par или ?plot. В любом случае, я бы рекомендовал установить параметры par для вашего графика, а не извлекать значения по умолчанию постфактум.   -  person Carl Witthoft    schedule 23.04.2012
comment
Собственно, это я и пытаюсь сделать. Я просто включил пример локатора, чтобы показать, какими я ожидаю эти значения.   -  person Marc in the box    schedule 23.04.2012
comment
Если вашей целью является создание графика с символами указанного размера, вы можете посмотреть на функцию symbols или функцию my.symbols в пакете TeachingDemos.   -  person Greg Snow    schedule 23.04.2012


Ответы (1)


Согласно документации, содержащейся в ?par, у нас есть это,

  • cin - Р.О.; размер символа (ширина, высота) в дюймах. Это те же измерения, что и cra, выраженные в других единицах.
  • cra - Р.О.; размер символа по умолчанию (ширина, высота) в «растры» (пиксели). Некоторые устройства не имеют представления о пикселях и поэтому предполагают произвольный размер пикселя, обычно 1/72 дюйма. Это те же измерения, что и cin, выраженные в других единицах.

На моей машине эти значения выглядят так:

par("cin")
[1] 0.15 0.20
> par("cra")
[1] 10.8 14.4

Таким образом, увеличение символа с помощью cex должно происходить относительно этих размеров, предположительно путем масштабирования горизонтального и вертикального размеров отдельно (хотя я этого точно не знаю).

person joran    schedule 23.04.2012
comment
Спасибо Джоран. Это сближает меня. Я думаю, что символы по-прежнему обрабатываются немного иначе, чем текстовые символы, но в любом случае это дает приблизительную оценку их размера. Ваше здоровье - person Marc in the box; 26.04.2012