Elaborei um gráfico para a representação do número relativo de observações por categoria de determinadas variáveis registradas em diferentes pontos de coleta. No exemplo abaixo, eu tenho o número de embarcações observadas por classe de comprimento total nos municípios de São Paulo (dados são fictícios).
Dados (fictícios)
Município | 0 ˫ 6 | 6 ˫ 9 | 9 ˫ 12 | 12 ˫ 15 | 15 ˫ 18 | ≥ 18 |
Ubatuba | 37 | 46 | 7 | 7 | 0 | 0 |
Caraguatatuba | 41 | 41 | 15 | 2 | 0 | 0 |
Ilhabela | 50 | 39 | 9 | 0 | 0 | 0 |
São Sebastião | 43 | 40 | 14 | 1 | 0 | 0 |
Bertioga | 0 | 52 | 28 | 18 | 0 | 0 |
Santos/Guarujá | 6 | 27 | 16 | 16 | 4 | 28 |
São Vicente | 75 | 12 | 12 | 0 | 0 | 0 |
Praia Grande | 60 | 39 | 0 | 0 | 0 | 0 |
Mongaguá | 16 | 83 | 0 | 0 | 0 | 0 |
Itanhaém | 0 | 85 | 14 | 0 | 0 | 0 |
Peruíbe | 31 | 43 | 25 | 0 | 0 | 0 |
Iguape | 38 | 60 | 0 | 0 | 0 | 0 |
Ilha Comprida | 66 | 34 | 0 | 0 | 0 | 0 |
Cananéia | 34 | 40 | 10 | 11 | 2 | 0 |
Total | 497 | 641 | 150 | 55 | 6 | 28 |
# importa dados da área de transferência
dat.graf <- t(read.delim("clipboard",dec=",",row.names=1))
dat.graf
# indica o valor da variáveis que serão utilizadas
dat.graf
# indica o valor da variáveis que serão utilizadas
NCATY<-nrow(dat.graf)
NCATX<-ncol(dat.graf)
MARX<-10 # margem da abcissa
MARY<-5 # margem da ordenada
CIRC<-13 # tamanho máximo do círculo
COR<-"blue" # cor do círculo
# plota o gráfico
NCATX<-ncol(dat.graf)
MARX<-10 # margem da abcissa
MARY<-5 # margem da ordenada
CIRC<-13 # tamanho máximo do círculo
COR<-"blue" # cor do círculo
# plota o gráfico
par(mar=c(MARX,MARY,2,2))
plot(c(1:NCATX),rep(0,NCATX),xlab="",ylab="",
xaxp=c(1,NCATX,NCATX-1),yaxp=c(1,NCATY+1,NCATY),
ylim=c(0,NCATY+1),xaxt="n",yaxt="n",type="n")
axis(1,at=c(1:NCATX),labels=colnames(dat.graf),las=2,cex.axis=1.5)
axis(2,at=c(1:NCATY),labels=rownames(dat.graf),las=2,cex.axis=1.5)
for (x in 1:NCATX) {
for(y in 1:NCATY) {
points(x,y,col=COR,pch=19,cex=dat.graf[y,x]*CIRC/sum(dat.graf[,x]))
}
}
# caso a última linha da tabela seja uma totalização e deva ficar em destaque.
abline(v=NCATX-0.5,lty=2)
plot(c(1:NCATX),rep(0,NCATX),xlab="",ylab="",
xaxp=c(1,NCATX,NCATX-1),yaxp=c(1,NCATY+1,NCATY),
ylim=c(0,NCATY+1),xaxt="n",yaxt="n",type="n")
axis(1,at=c(1:NCATX),labels=colnames(dat.graf),las=2,cex.axis=1.5)
axis(2,at=c(1:NCATY),labels=rownames(dat.graf),las=2,cex.axis=1.5)
for (x in 1:NCATX) {
for(y in 1:NCATY) {
points(x,y,col=COR,pch=19,cex=dat.graf[y,x]*CIRC/sum(dat.graf[,x]))
}
}
# caso a última linha da tabela seja uma totalização e deva ficar em destaque.
abline(v=NCATX-0.5,lty=2)
-------------
Algumas pessoas tiveram problemas com a visualização, compreensão e inserção do símbolos matemáticos de indicação dos intervalos de classe.
6 ˫ 9, 6 |- 9, [6,9[ ou [6,9) indica um intervalo de classe que inclui o limite inferior (6) e exclui o superior (9)
No Linux Ubuntu a forma correta de indicar o símbolo "|-" (˫) é Shift+Ctrl+U 02EB e o código para ">=" (≥) é Shift+Ctrl+U 2265, , como podemos ver na figura.
Dependendo no navegador e do sistema operacional estes símbolos podem não ser visualizados corretamente no blog.
Caso os símbolos matemáticos e as acentuações não sejam corretamente importados pelo R através área de transferência (clipboard) podemos gravar a tabela de dados e importa-la como comando read.csv.
Se mesmo assim os probelmas continuarem podemos re-escrever os nomes de colunas e linhas com colnames e rownames:
colnames(dat.graf)
colnames(dat.graf)[4]<-"São Sebastião"
colnames(dat.graf)[6]<-"Santos/Guarujá"
colnames(dat.graf)[4]<-"São Sebastião"
colnames(dat.graf)[6]<-"Santos/Guarujá"
rownames(dat.graf)
rownames(dat.graf)<-c("0 ˫ 6","6 ˫ 9","9 ˫ 12","12 ˫ 15","15 ˫ 18","≥ 18")
Nenhum comentário:
Postar um comentário