2017-06-05 8 views
-1

ggplot2を使用してウォーターフォールチャートを作成しようとしています。マイデータ:軸上のラベルを正しくソートする方法は?

> PctCtr 
    Index Volatility sign id  end  start 
1 WMT 0.04894867 pos 1 0.04894867 0.00000000 
2 MMM 0.09225684 pos 2 0.14120551 0.04894867 
3 AIG 0.18997607 pos 3 0.33118159 0.14120551 
4 AAPL 0.11067473 pos 4 0.44185632 0.33118159 
5  KO 0.05972203 pos 5 0.50157835 0.44185632 
6 COST 0.06088945 pos 6 0.56246780 0.50157835 
7  C 0.16428627 pos 7 0.72675407 0.56246780 
8 AMZN 0.12803944 pos 8 0.85479351 0.72675407 
9 ICE 0.09104894 pos 9 0.94584245 0.85479351 
10 VTR 0.05415755 pos 10 1.00000000 0.94584245 
11 Total 1.00000000 pos 11 0.00000000 1.00000000 

そして、私のコード:

GF = ggplot(PctCtr, aes(Volatility, fill = sign)) + 
    geom_rect(aes(Index, 
       xmin = id - 0.475, 
       xmax = id + 0.475, 
       ymin = end, 
       ymax = start)) + 
    scale_y_continuous(labels = percent)  
    scale_x_discrete("", breaks = levels(PctCtr$Index), labels = levels(PctCtr$Index)) 

GF 

は、得られたチャート:あなたが見ることができるように enter image description here

、x軸上の名前を台無しにされています。

> levels(PctCtr$Index) 
[1] "AAPL" "AIG" "AMZN" "C"  "COST" "ICE" "KO" "MMM" "Total" 
[10] "VTR" "WMT" 

私はこの問題を解決する助けてください。私はそれを見たとき、それはアルファベット順にソート値を返すよう、それが理由levels()機能のだと思います。ありがとう。

+0

前のインデックス列のレベルを変更するには、この質問は複数回downvotedされる理由を私は理解して助けてください。 –

+0

質問にはインデックスを明確に説明していないので、Indexカラムにリストされているものと推測する必要があります。フルで実行してもスクリプトは機能しません。あなたはそれをテストしましたか? – Al14

+0

あなたは何をすべきか説明していません。 – AK88

答えて

0

あなただけの要因ができ、プロット

PctCtr$Index <- factor(PctCtr$Index, levels=unique(PctCtr[,"Index"])) 
関連する問題