14

こんにちは親愛なる私はggplotで棒グラフを作成しようとしていましたが、結果が得られません。データフレームは次のとおりです。

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軸のすべてのラベルは1行のみです。あなたの助けに感謝します、そして誰かが私がバーに色を入れることができる方法を私に助けてくれますか?

4

1 に答える 1

50

使用されるパラメータのより良い制御のために関数ggplot()

まず、順序付けられたバーを取得するために、Indicadorに従って変数を並べ替える必要があります。Número前のマイナス記号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))

ここに画像の説明を入力してください

提案:出版物では、45度のようなものを使用する方が良いようです:

theme(axis.text.x=element_text(angle=45,hjust=1,vjust=0.5))
于 2013-03-26T06:03:31.530 に答える