1

私はこのデータを持っています:

> result_Q1_data
     HARM              TYPE
834 96979           TORNADO
130  8428    EXCESSIVE HEAT
856  7461         TSTM WIND
170  7259             FLOOD
464  6046         LIGHTNING
275  3037              HEAT
153  2755       FLASH FLOOD
427  2064         ICE STORM
760  1621 THUNDERSTORM WIND
972  1527      WINTER STORM

そして、棒グラフを作りたいです。私はこのコマンドを使用しています:

qplot(TYPE,HARM,data=result_Q1_data,stat="identity",geom="bar", fill=EVTYPE)

このプロットを取得します

プロット上でデータが減少し、x 軸に単語がない、または垂直になる同じプロットを作成するにはどうすればよいですか? (私はまだ英語が苦手で、説明が下手でごめんなさい)

4

2 に答える 2

4

ggplot関数を使うことをお勧めしますが、qplotを使いたい場合は. 因子 TYPE のレベルを並べ替え、x 軸のラベルを削除する必要があります。

result_Q1_data = data.frame(
    'id' = c(834, 130, 856, 170, 464, 275, 153, 427, 760, 972),
    'HARM' = c(96979, 8428, 7461, 7259, 6046, 3037, 2755, 2064, 1621, 1527),
    'TYPE' = factor(c('TORNADO', 'EXCESSIVE HEAT', 'TSTM WIND', 'FLOOD', 'LIGHTNING',
       'HEAT', 'FLASH FLOOD', 'ICE STORM', 'THUNDERSTORM WIND', 
       'WINTER STORM')))

result_Q1_data$TYPE = factor(result_Q1_data$TYPE, 
         levels = result_Q1_data$TYPE[order(result_Q1_data$HARM, decreasing=T)])

qplot(TYPE,HARM,data=result_Q1_data,stat="identity",geom="bar", fill=TYPE) + 
    theme(axis.ticks = element_blank(), axis.text.x = element_blank())

結果のプロット

于 2014-05-25T18:20:54.893 に答える
1

ggplotコマンドの代わりに使用しますqplotggplot関数内でバーを並べ替えることができます。

ggplot(result_Q1_data, aes(x=reorder(TYPE,-HARM), y=HARM, fill=reorder(TYPE,-HARM))) +
  geom_bar(stat="identity") +
  theme(axis.text.x=element_text(angle=45, vjust=0.5))

与える:

ここに画像の説明を入力

于 2014-05-25T18:16:58.790 に答える