A solution with the ggplot2
:
dados <- read.table(text='8 5 4 6 4 4 2
41 58 15 19 19 33 30
60 59 67 54 49 59 56
43 30 66 73 80 56 64', header=F, sep=' ')
fator_tecnologico_labels <- c(
"Facilidade de testar e de ser avaliado\n por usuários de um modo geral",
"Utilização de desenvolvimento e de qualidade\n bem definidos por parte do fabricante",
"Compatibilidade com a infraestrutura existente,\n com os requisitos/necessidades/demandas, e/ou com a tecnologia\n em vigor",
"Facilidade de entender, utilizar\n e/ou adaptar",
"Vantagem(ns) em relação a custos com hardware,\n requisitos mínimos menos exigentes, custos com licença ou suporte, etc",
"Maior eficiência em relação à solução,\n livre ou não, utilizada atualmente",
"Maior confiabilidade em relação\n à solução, livre ou não, utilizada\n atualmente"
)
# Até aqui tu tem.
dados <- cbind(dados, Label=c('Nenhuma influência', 'Pouca influência', 'Influência considerável', 'Muita influência'))
dados <- reshape(dados, varying = list(c('V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7')), direction='long', idvar='Label', times=fator_tecnologico_labels) # Para usar o ggplot2 os dados precisam estar nesse formato.
require(ggplot2)
grafico <- ggplot(aes(x=time, y=V1, fill=Label), data=dados) + # Informa os dados
geom_bar(stat='identity', position='dodge') + # Informa que tu quer um gráfico de barras
coord_flip() + # Inverte os eixos X e Y
xlab('Frequencia') + # Coloca titulo no eixo X
ylab('Fatores') + # Coloca titulo do eixo Y
ggtitle("Na sua opinião, em que grau estes fatores influenciam\n a adoção de software livre do ponto de vista tecnológico?") + # Coloca titulo no grafico
scale_fill_hue('Legenda') # Coloca titulo na legenda
grafico
EDIT:
Using the strwrap()
to break the text.
dados <- read.table(text='8 5 4 6 4 4 2
41 58 15 19 19 33 30
60 59 67 54 49 59 56
43 30 66 73 80 56 64', header=F, sep=' ')
fator_tecnologico_labels <- c(
"Facilidade de testar e de ser avaliado por usuários de um modo geral",
"Utilização de desenvolvimento e de qualidade bem definidos por parte do fabricante",
"Compatibilidade com a infraestrutura existente, com os requisitos/necessidades/demandas, e/ou com a tecnologia em vigor",
"Facilidade de entender, utilizar e/ou adaptar",
"Vantagem(ns) em relação a custos com hardware, requisitos mínimos menos exigentes, custos com licença ou suporte, etc",
"Maior eficiência em relação à solução, livre ou não, utilizada atualmente",
"Maior confiabilidade em relação à solução, livre ou não, utilizada atualmente"
)
# Quebrando o texto automaticamente (Só tirei os \n do vetor de cima e acrescentei as 3 linhas abaixo)
tamanho <- 40 # O limite de caracteres (ele vai quebrar no espaço anterior a palavra que ultrapassa o limite)
(fator_tecnologico_labels <- strwrap(fator_tecnologico_labels, tamanho, simplify=F)) # Cria uma lista onde cada elemento é um vetor com até 40 caracteres.
(fator_tecnologico_labels <- mapply(paste, fator_tecnologico_labels, collapse='\n')) # Monta o vetor com as labels.
# Até aqui tu tem.
dados <- cbind(dados, Label=c('Nenhuma influência', 'Pouca influência', 'Influência considerável', 'Muita influência'))
dados <- reshape(dados, varying = list(c('V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7')), direction='long', idvar='Label', times=fator_tecnologico_labels) # Para usar o ggplot2 os dados precisam estar nesse formato.
require(ggplot2)
grafico <- ggplot(aes(x=time, y=V1, fill=Label), data=dados) + # Informa os dados
geom_bar(stat='identity', position='dodge') + # Informa que tu quer um gráfico de barras
coord_flip() + # Inverte os eixos X e Y
xlab('Frequencia') + # Coloca titulo no eixo X
ylab('Fatores') + # Coloca titulo do eixo Y
ggtitle("Na sua opinião, em que grau estes fatores influenciam a adoção de software livre do ponto de vista tecnológico?") + # Coloca titulo no grafico
scale_fill_hue('Legenda') # Coloca titulo na legenda
grafico
What is "correctly" in this case? The third group has a long text, and if you simply lower the x-axis, the result may not be visually pleasurable. In any case, you may be able to adjust the edges of the X-axis labels with the pair command: http://www.programmingr.com/content/controlling-margins-and-axes-oma-and-mgp/
– Luiz Vieira
@Soriano, you can post the code in which you call the function
barplot
?– rodrigorgs