В основном это дополнительный вопрос к предыдущему а>.
Учитывая, что в ggplot2 и сетке есть разные типы линий, а интервалы различаются между размерами линий, какова их связь?
Есть две вещи, которые я не совсем понимаю.
- Как определяется размер строки? Если бы мне нужно было нарисовать прямую вертикальную линию и заменить ее прямоугольником, какой должна быть ширина прямоугольника, чтобы получить эквивалент размера линии? В частности, как
lwd = 1
илиlwd = 10
, которые я передаю вpar()
/gpar()
, относятся к абсолютным размерам (пиксели, мм, дюймы, точки)?
Документация gpar()
ссылается на документацию par()
, в которой говорится следующее:
Ширина линии, положительное число, по умолчанию равное 1. Интерпретация зависит от устройства, и некоторые устройства не реализуют ширину линии меньше единицы.
Что достаточно справедливо, но я не смог найти необходимую документацию по конкретным устройствам для обычных устройств.
- Я думаю, что могу предположить, что интервалы между различными типами линий пропорциональны их размеру, но как именно определяются пропорции «пунктирная», «пунктирная», «пунктирная» и т. д. длины штриха к длине интервала?
На приведенном ниже графике, как я могу заранее предсказать или рассчитать длину штриха/интервала?
library(ggplot2)
df <- data.frame(
x = rep(c(0, 1), 4),
y = rep(1:4, each = 2),
size = rep(c(2, 10), each = 4),
linetype = rep(c(2,2,3,3), 2)
)
# The `I()` function automatically assigns identity scales
ggplot(df, aes(x, y, size = I(size), linetype = I(linetype))) +
geom_line(aes(group = y))
Я думаю, что это в основном вопрос документации, поэтому я был бы рад, если бы вы могли указать мне правильные страницы. В противном случае ответ на два моих вопроса выше или их демонстрация также были бы неплохими.
РЕДАКТИРОВАТЬ: ggplot имеет переменную с именем .pt
, которую они часто используют для умножения размера строки. Вероятно, это означает, что в сетке размер линии равен something / .pt
, но в каких единицах?