Настройка оси Y в аннотациях R таким образом, чтобы они были видны (с помощью команды plot) - PullRequest
1 голос
/ 27 сентября 2019

Я пытаюсь экспортировать график в R, чтобы я мог поместить его на постер, но метки моей оси y не видны четко.Они выглядят так, как будто они зажаты между осью и краями графиков.Когда я экспортирую изображение в формате PNG, оно выглядит не очень хорошо.Как мне настроить код так, чтобы он отображал эти метки?

Если вы запустите код в этом примере, вы должны увидеть проблему.

Кроме того, почему моиЗначения R ^ 2 не выделены жирным шрифтом, как я указал ??

Любая помощь будет отличной, спасибо всем!

(Примечание: это, очевидно, поддельные данные, составленные для этого примера).

data1 <- data.frame(height = c(1,2,3,4,5,6,7,8,9), camera = c(1,2,3,4,5,6,7,8,9))
data2 <- data.frame(height = c(1,2,3,4,5,6,7,8,9), camera = c(1,2,3,4,5,6,7,8,9))
data3 <- data.frame(height = c(1,2,3,4,5,6,7,8,9), camera = c(1,2,3,4,5,6,7,8,9))
data4 <- data.frame(height = c(1,2,3,4,5,6,7,8,9), camera = c(1,2,3,4,5,6,7,8,9))
data5 <- data.frame(height = c(1,2,3,4,5,6,7,8,9), camera = c(1,2,3,4,5,6,7,8,9))

###############PNG Settings#############
png("example.png", width=1000, height=700)

##############dataset1#####################
par(mfrow=c(2,3))

plot(data1$height, 
     data1$camera, main = "9 DAT",
     xlab = "GT Height (m)", ylab = "DTM Height (m)", las=1, pch=19,
     cex=2, cex.main=2, cex.lab=2, cex.axis=2)



abline(lm(data1$camera~data1$height), col='red', lwd = 3)

mod1<- lm(data1$camera~data1$height)
summary(mod1)

text(4, 8, label = "y = x", font=2, cex = 2)
text(4, 7, font=2, label = expression("R"^"2"* "= 1"), cex=2)


###########dataset2#################

plot(data2$height, data2$camera, main = "15 DAT", xlab = "GT Height (m)",
     ylab = "DTM Height (m)", las = 1, pch = 19,  cex=2, cex.main=2, cex.lab=2, cex.axis=2)

mod2 <- lm(data2$camera ~ data2$height)
summary(mod2)
abline(mod2, col='red', lwd=3)

text(x=4, y=8, labels = "y = x", font=2, cex=2)
text(x=4, y=7, font=2, labels = expression('R'^'2'* '= 1'), cex=2)

#################dataset3##############################


plot(data3$height, data3$camera, main = "21 DAT", xlab = "GT Height (m)",
     ylab = "DTM Height (m)", las = 1, pch = 19,  cex=2, cex.main=2, cex.lab=2, cex.axis=2)

mod3 <- lm(data3$camera ~ data3$height)

summary(mod3)
abline(mod3, col='red', lwd=3)

text(x=4, y=8, labels = "y = x", font=2, cex=2)
text(x=4, y=7, font=2,labels = expression('R'^'2'* '= 1'), cex=2)

############dataset4##################


plot(data4$height, data4$camera, main = "27 DAT", xlab = "GT Height (m)",
     ylab = "DTM Height (m)", las = 1, pch = 19,  cex=2, cex.main=2, cex.lab=2, cex.axis=2)

mod <- lm(data4$camera ~ data4$height)

summary(mod)

abline(mod, col='red', lwd=3)

text(x=4, y=8, labels = "y = x", font = 2, cex=2)
text(x=4, y=7, labels = expression('R'^'2'* '=1'), font = 2, cex=2)

####################dataset5#######################

plot(data5$height, data5$camera, main = "35 DAT", xlab = "GT Height (m)",
     ylab = "DTM Height (m)", las = 1, pch = 19,  cex=2, cex.main=2, cex.lab=2, cex.axis=2)

mod <- lm(data5$camera ~ data5$height)

summary(mod)
abline(mod, col='red', lwd=3)

text(x=4, y=8, labels = "y = x", font = 2, cex=2)
text(x=4, y=7, labels = expression('R'^'2'* '=1'), font = 2, cex=2)

############End of Image###############
dev.off()

1 Ответ

1 голос
/ 27 сентября 2019

Полагаю, вы хотите сохранить размер графика и поля одинаковыми.

Установите ylab пустым в вашем plot:

plot(data1$height, 
     data1$camera, main = "9 DAT",
     xlab = "GT Height (m)", ylab = '', las=1, pch=19,
     cex=2, cex.main=2, cex.lab=2, cex.axis=2)

Затем укажите его вручную, используя параметр mgp.По умолчанию c(3,1,0).

title(ylab = "DTM Height (m)", mgp=c(2.3,1,0), cex.lab=2)

Для второго вопроса вам необходимо добавить bold() в expression().

text(x=4, y=7, font=2,labels = expression(bold('R'^'2'* '= 1')), cex=2)
...