Как построить график логарифмов с помощью R-plot?

#r #plot #logarithm

#r #график #логарифм

Вопрос:

Я пытаюсь составить следующий график с помощью R-plot:

введите описание изображения здесь

У меня есть следующий код в R:

 x = 0:8
f = log2(x)
plot(x, f, main="Função Logarítmica", xlab="X - Abscissas", ylab="Y - Ordenadas", t='l', ylim=c(-3,3), xlim=c(0,8), col=4, axes=F) 
axis(1, pos=0, at=seq(from=0, to=8, by=0.2))
axis(2, pos=0)   
# Inclui linhas de grade
abline(h=seq(-3,3,0.5),v=seq(-3,8,0.5),lty=3,col="gray", lwd=2)
 

График, сгенерированный с помощью R-plot:

введите описание изображения здесь

Как я должен сделать свой график R похожим на рисунок?

Комментарии:

1. Измените x на x <- c(1/8, 1/4, 1/2, 1, 2, 4, 8) и повторите попытку.

Ответ №1:

Я не уверен, что именно вы хотите изменить на рисунке, но вот разумная реплика:

 x = seq(0.1, 8, 0.1)
f = log2(x)
plot(x, f, main = "Função Exponencial", 
     xlab = "X - Abscissas", ylab = "Y - Ordenadas", t = 'n', 
     ylim= c(-3, 3), xlim = c(0, 8), col = 4, axes = FALSE) 

polygon(x = c(0, 8, 8, 0), y = c(-3, -3, 3, 3), col= "#e3e9ff")
abline(h = seq(-3, 3, 0.1), v = seq(-3, 8, 0.1), col = "white", lwd = 2)
lines(x, f, lwd = 2, col = "red3")
axis(1, pos = 0, at = 0:8)
axis(2, pos = 0) 
text(label = c("u215b", "u00bc", "u00bd"),
     c(0.125, 0.25, 0.5), c(0.2, -0.2, -0.2), cex = 1.3)

for(i in seq(-3, 3)) {
  lines(c(0, 2^i, 2^i), c(i, i, 0), lty = 2)
  points(2^i, i, pch = 16, cex = 1.5)
}
 

введите описание изображения здесь

Комментарии:

1. Привет, @Allan Cameron, большое спасибо за вашу помощь! Я делаю эту графику для своих слайдов latex, которые я буду использовать в своем классе.