При постоянном вертикальном смещении горизонтальных меток оси X, расположенных под гистограммами (в нижней части большей сетки таких графиков), получается, что использование title
с атрибутом line
обеспечивает согласованное поведение / размещениене зависит от размера устройства.Вот что я сейчас делаю:
title(xlab=journey, line=0, cex=0.8, font.lab=2, xpd=NA)
, где line
является целым числом, а 0
является ближайшим к графику, а более высокое целое число находится дальше (в отрицательном направлении Y).
По легенде, я не смог придумать постоянное вертикальное смещение, которое бы велось независимо от размеров сетки или размера устройства.Несколько моментов здесь:
yjust
параметр до legend
не работал вообще.Я искал в Интернете примеры, но независимо от того, какое значение я использовал, yjust
был запрещен. y
параметр работает , но, к сожалению, не в сочетании с описательным атрибутом для x
;то есть, если x
установлено на bottom
, вы не можете одновременно установить y
.Мне показалось, что это поведение сбивает с толку, так как я обычно ожидаю, что эти координаты не зависят друг от друга.
Чтобы обойти эти ограничения, я сделал следующее:
yInset <- 0.4 * (1.075 - par("fin")[2] / dev.size("in")[2])
legend(x='bottom', yjust=-0.75, inset=c(0, -yInset), legend=abbrevLabels, fill=c(colors), xpd=NA, horiz=TRUE, bty="n", cex=1.0, adj=0.035, text.width=rep(meanLabelLen/7.5, length(legendLabels)))
Эта логика эффективно устанавливает скользящее смещение по Y пропорционально размерам сетки и размеру устройства.Эмпирически определенные коэффициенты масштабирования / смещения, равные 1.075
и 0.4
, действительно брутто, но на данный момент достаточно.
В будущем было бы полезно, если бы некоторые ограничения для legend
, упомянутые выше, были устранены (или, возможно, лучше объяснить, в случае, если я неправильно понял документы).