Barras e Linhas no R

Ontem um aluno me perguntou como produzir um gráfico de barras com linhas. Minha primeira idéia foi recorrer a pacotes como Lattice ou ggplot2, imaginando tratar-se de um gráfico pouco usual. Depois de um pouco de pesquisa, acabei descobrindo que o gráfico em questão não é tão usual assim e pode ser facilmente produzido com os comandos básicos de gráficos do R.

Digamos que seus dados sejam uma data.frame composto por duas variáveis.

dados <- data.frame(a = sample(1:100,10), b = sample(1:100,10))

O que desejamos é representar no gráfico os valores da variável a como barras e os valores da variável b como pontos conectados por linhas. O comando abaixo produz o gráfico de barras e retorna um vetor com as coordenadas x dos meios das barras produzidas.

a <- barplot(dados$a, ylim = c(0,100))

Agora é fácil criar os pontos e linhas:

points(a, dados$b, ylim= c(0,100))
lines(a, dados$b, ylim= c(0,100))

Image que seus dados são temporais, onde cada observação está relacionada a uma ano. Pode-se incluir os anos como rótulos do eixo “x” com o comando:

axis(1, at = a, labels = 2000:2009)

bar-and-line