Bioestatística
Prof. Dr. Edson Zangiacomi Martinez
Faculdade de Medicina de Ribeirão Preto
Universidade de São Paulo (USP)
Esta página está em construção!
Todo seu conteúdo não é definitivo...

Gráfico de dispersão
Inserindo legendas na figura
Inserindo linhas
Gráficos de dispersão
Gráficos de setores são gerados com a função plot()
Para os exemplos a seguir, clicar aqui para abrir o banco de dados em formato Excel.
urlfile <- "https://raw.githubusercontent.com/edsonzmartinez/cursoR/main/Dados02.csv"
dados <- read.csv2(urlfile,head=TRUE)
plot(dados$Peso,dados$Altura)

# Inserindo um título no gráfico
plot(dados$Peso,dados$Altura,main="Peso e altura")
# Modificando os limites dos eixos
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8))
# Modificando o estilo do quadro ao redor do gráfico
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="l")

# Tente também bty = "o", "7", "c", "u", "]" e "n".
# Modificando o símbolo para os pontos:
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=19)
# Outros símbolos:
plot(1:25,rep(1,25),pch=1:25,bty="n",axes=F,xlab="",ylab="")
text(1:25,rep(0.9,25),1:25)

# Inserindo um texto na área de plotagem:
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=19)
text(100,1.7,"BOM DIA !!!!!!!")

# Modificando as legendas dos eixos:
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=19,
xlab="Peso(kg)",ylab="Altura (m)")
# Mudando as cores dos pontos:
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=19,
xlab="Peso (kg)",ylab="Altura (m)",col="red")
# Pontos com cores diferentes:
cor <- ifelse(dados$Tabagismo=="sim","red","blue")
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=19,
xlab="Peso (kg)",ylab="Altura (m)",col=cor)
# Pontos com cores e símbolos diferentes:
marca <- ifelse(dados$Tabagismo=="sim",19,17)
cor <- ifelse(dados$Tabagismo=="sim","red","blue")
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=marca,
xlab="Peso (kg)",ylab="Altura (m)",col=cor)
# Inserindo uma legenda:
legend(100,1.8,col=c("red","blue"),pch=c(19,17),legend=c("Fumantes","Não fumantes"))

# Modificando a escala de um dos eixos
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=marca,
xlab="Peso (kg)",ylab="Altura (m)",col=cor,axes=F)
axis(2)
axis(1,at=seq(40,120,5),labels=seq(40,120,5))

# Inserindo linhas no gráfico:
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=marca,
xlab="Peso (kg)",ylab="Altura (m)",col=cor)
lines(c(40,120),c(1.6,1.6),lty="dashed",col="red")
lines(c(80,80),c(1.4,1.8),lty="dashed",col="red")
# lty refere-se ao tipo da linha
# Tente também lty="blank","solid","dotted","dotdash","longdash" e "twodash", e veja o resultado.

# A espessura das linhas pode ser modificada com o argumento lwd:
plot(dados$Peso,dados$Altura,main="Peso e altura",xlim=c(40,120),ylim=c(1.4,1.8),bty="n",pch=marca,
xlab="Peso (kg)",ylab="Altura (m)",col=cor)
lines(c(40,120),c(1.6,1.6),lty="dashed",lwd=2,col="red")
lines(c(80,80),c(1.4,1.8),lty="dashed",lwd=2,col="red")
# O código R a seguir exemplifica os diferentes tipos de linha:
par(mar=c(1,1,0.1,1))
plot(c(1,30),c(1,100),axes=F,col=0)
ltx<-c("blank","solid","dashed","dotted","dotdash","longdash","twodash")
pos<-seq(100,0,length=7)
for (k in 1:7) {
lines(c(10,30),c(pos[k],pos[k]),lty=ltx[k])
text(5,pos[k],paste(k-1,". ",ltx[k]))}

# O tipo da linha, em lty, pode ser definido pelo nome ou pelo número correspondente.
# Por exemplo, as funções
lines(c(40,120),c(1.6,1.6),lty="dashed",col="red")
# e
lines(c(40,120),c(1.6,1.6),lty=2,col="red")
# produzem o mesmo resultado.
# Experimente usar as linhas a seguir:
plot(0:20,col="white",xlim=c(0,20))
for (i in 0:10) {lines(c(i,0),c(0,10-i))
lines(c(i,10),c(10,10-i))
lines(c(i,10),c(10,10+i))
lines(c(i,0),c(20,10+i))}
for (i in 10:20) {lines(c(i,20),c(0,i-10))
lines(c(i,10),c(10,i-10))
lines(c(i,20),c(20,30-i))
lines(c(i,10),c(10,30-i))}
Ver também:
Gráficos de dispersão usando o pacote ggplot e a função geom_hex():
https://github.com/edsonzmartinez/cursoR/blob/main/Graficos%20usando%20geom_hex.R