2017-03-02 15 views
0

プロットのy値が正しくありません。プロットの最大y値が正しくありません

data <- read.xlsx('filename') 
data <- melt(data) 
data$dvmph <- as.numeric(as.character(data$dvmph)) 

ggplot(data, aes(x=variable, y = dvmph, 
       fill=value)) + geom_col() + coord_polar() + labs(x="PDOF", y="dvmph") + scale_fill_gradient(low='khaki',high='red') 

enter image description here

あなたが見ることができるように、プロットは500--の最大dvmphを持っているが、実際には49の最大dvmphは、ここでデータのサンプルですしています

> data 
    dvmph variable  value 
1  1  X0  0.00 
2  3  X0 2486.60 
3  5  X0 100519.29 
4  7  X0 471515.00 
5  9  X0 973180.19 
6  11  X0 758789.62 
7  13  X0 500884.34 
8  15  X0 441252.43 
9  17  X0 228094.07 
10 19  X0 358144.00 
11 21  X0 173614.35 
12 23  X0 73395.79 
13 25  X0 79245.32 
14 27  X0 59789.64 
15 29  X0 35539.05 
... 
814 17  X350 116754.15 
815 19  X350 173989.62 
816 21  X350 76056.33 
817 23  X350 32374.60 
818 25  X350 26640.38 
819 27  X350 34852.71 
820 29  X350 11826.09 
821 31  X350 7499.55 
822 33  X350 4713.12 
823 35  X350 4981.18 
824 37  X350 5845.43 
825 39  X350 2250.77 
826 41  X350 2111.73 
827 43  X350 1179.72 
828 49  X350 5936.01 

> max(data$dvmph) 
[1] 49 

私はこれを引き起こしているのかよく分かりません。 geom_tile()を使用すると、プロットが正しいように見えます(つまり、y軸は50で終わります)。geom_col()と関係があると思います。しかし、私はgeom_tile()を美的理由のために使用することはできません(私のデータには、geom_tile()を使用すると明らかに隙間があります。geom_col())。

+1

デフォルトでは 'geom_col'は' position = "stack" 'を持っています。 – baptiste

+0

[私にこれを与えた](http://imgur.com/kTGYus2)の' position = "dodge" 'に変更しようとしました。 png)。それはどのようにわからないが、色を変えた。そして 'position =" fill "に変更すると正しい色がjkeptされますが、y値は比率(.25、.5など)になります。これは私が望むものではありません... – ale19

+0

position_identity? – baptiste

答えて

0
ggplot(data, aes(x=variable, y = dvmph, 
       fill=value)) + geom_col(position="identity") + coord_polar() + labs(x="PDOF", y="dvmph") + scale_fill_gradient(low='khaki',high='red') 

は、私は/ ggplot2とその依存関係の更新/再インストールしてみてください、あなたはバグをいくつかのパッケージの古いバージョンを使っている推測、およびてる

enter image description here

私に期待される規模を与えますまたはRを使用して、バニラのRセッションを必ず実行してください。

関連する問題