2013-03-26 118 views
9

嗨,親愛的我正在試圖在ggplot中製作條形圖,但我沒有得到結果。數據幀是下一個:在ggplot中製作條形圖,在x軸上有垂直標籤

z=data.frame(x1=read.table(textConnection(" 
Indicador 
Total 
Max. 
          Min. 
          Mean 
          Promedio.Aparatos 
          Promedio.Automotriz 
          Promedio.Belleza 
          Promedio.C.Internet 
          Promedio.Comp 
          Promedio.Deportes 
          Promedio.Educación 
          Promedio.Entretenimiento 
          Promedio.Gasolina 
          Promedio.C.Comerciales 
          Promedio.ATMs 
          Promedio.Hogar 
          Promedio.Libros.y.Música 
          Promedio.Moda 
          Promedio.Pagos.e.Impuestos 
          Promedio.Salud 
          Promedio.Servicios.Varios 
          Promedio.Supermercados 
          Promedio.Telefonia 
          Promedio.Viajes 
          Porcentaje.Aparatos 
          Porcentaje.Automotriz 
          PorcentajeBelleza 
          PorcentajeCompras.en.Internet 
          PorcentajeComputación 
          PorcentajeDeportes 
          PorcentajeEducación 
          PorcentajeEntretenimiento 
          PorcentajeGasolina 
          PorcentajeCentros.Comerciales 
          PorcentajeATMs 
          PorcentajeHogar 
          PorcentajeLibros.y.Música 
          PorcentajeModa 
          PorcentajePagos.e.Impuestos 
          PorcentajeSalud 
          PorcentajeServicios.Varios 
          PorcentajeSupermercados 
          PorcentajeTelefonia 
          PorcentajeViajes 
          "),header=T), 
x2=read.table(textConnection(" 
Número 
36001 
35916 
          12320 
          35889 
          4487 
          2751 
          673 
          1023 
          1062 
          4602 
          824 
          4438 
          4021 
          2577 
          31845 
          5443 
          641 
          6982 
          32868 
          4696 
          1594 
          9746 
          6239 
          13170 
          3973 
          2526 
          540 
          834 
          964 
          4291 
          755 
          3627 
          3254 
          2186 
          30356 
          4855 
          488 
          6612 
          33079 
          4105 
          1314 
          9284 
          5777 
          9666 
          "),header=TRUE)) 

我建這個data.frame因爲我想和有序的數據

tabla=z[order(z$Número,decreasing=TRUE),] 

我與ggplot努力工作,但我沒有得到我的條形圖與變量Indicador相關的垂直標籤。我想在x軸可變Indicador和Y軸可變NÚMERO 但與此代碼我得到一個醜陋的陰謀:

qplot(Indicador, data = tabla, geom = "bar") 

而在x軸的所有標籤都只有一行。 感謝您的幫助,並且有人能幫助我如何將顏色添加到酒吧中。

回答

33

爲了更好地控制所使用的參數功能ggplot()

首先,您應該根據Número重新訂購變量Indicador以獲得有序的條形圖。 tabla$Número之前的減號表示反向順序(從最高到最低)。

tabla$Indicador<-reorder(tabla$Indicador,-tabla$Número) 

那麼你應該提供x和y的值,並使用stat="identity"geom_bar()內繪製的實際值。使用theme()axis.text.x=您可以更改文本方向,還可以調整文本在x軸下的垂直和水平位置。

ggplot(tabla,aes(Indicador,Número))+ 
    geom_bar(stat="identity")+ 
    theme(axis.text.x=element_text(angle=90,hjust=1,vjust=0.5)) 

enter image description here

建議:在出版物中,它看起來更好地使用類似45度:

theme(axis.text.x=element_text(angle=45,hjust=1,vjust=0.5))