В базовом графике R метка оси перемещения ближе к оси

Я удалил метки на оси y, потому что действительно важно относительное количество.

w <- c(34170,24911,20323,14290,9605,7803,7113,6031,5140,4469)
plot(1:length(w), w, type="b", xlab="Number of clusters",
     ylab="Within-cluster variance",
     main="K=5 eliminates most of the within-cluster variance",
     cex.main=1.5,
     cex.lab=1.2,
     font.main=20,
     yaxt='n',lab=c(length(w),5,7), # no ticks on y axis, all ticks on x
     family="Calibri Light")

cluster plot

Однако подавление этих меток тика оставляет много белого пробела между меткой оси y ( "Внутрикластерная дисперсия" ) и осью y. Есть ли способ подтолкнуть его обратно? Если я каким-то образом установил (невидимые) метки меток внутрь оси, будет ли метка оси располагаться вдоль оси?

Ответы

Ответ 1

Попробуйте установить ylab="" в свой вызов plot и используйте title, чтобы вручную установить метку оси y. Используя line, вы можете отрегулировать положение метки, например:

plot(1:length(w), w, type="b", xlab="Number of clusters", ylab="",
     main="K=5 eliminates most of the within-cluster variance",
     cex.main=1.5,
     cex.lab=1.2,
     font.main=20,
     yaxt='n',lab=c(length(w),5,7), # no ticks on y axis, all ticks on x
     family="Calibri Light")

title(ylab="Within-cluster variance", line=0, cex.lab=1.2, family="Calibri Light")

enter image description here

Подробнее читайте ?title.

Ответ 2

Отрегулируйте mgp, см. ?par

title(ylab="Within-cluster variance", mgp=c(1,1,0), family="Calibri Light",cex.lab=1.2)

enter image description here