2016-07-13 11 views
0

私はこのような問題があります。私はそのようなコードを使用する場合:scale_yを使った後、y軸の値が消える

dat3 <- data.frame(
    oprocentowanie <- factor(proc), 
    składka <- factor(wektor_skladek)) 
dat3 

png(filename = "/home/nilcorc/Documents/Licencjat/Rubezpieczenie/plots/analiza_oprocentowania_skladka", 
    width = 600, height = 400) 
ggplot(data=dat3, aes(oprocentowanie, składka)) + 
    geom_bar(position="dodge", width=0.5, color="#6666FF",stat="identity",fill="#6666FF")+ 
    labs(title="Wrażliwość składki na stopę %") 
dev.off() 

を私はY軸上のfloat値とのプロットを得るが、私は

scale_y_discrete(breaks=c(0,1000,2000,3000,4000,5000,6000,7000,8000,9000) 

を追加したときにY軸上のすべての値が消えて、私はプロットを取得しますどこのバーがどれくらい大きいか分かりません。私たちを手伝ってくれますか?

私はY軸上の値が1000

データフレームで0から9000に行くを取得したいと思います:

oprocentowanie....factor.proc. skladki....factor.floor.wektor_skladek.. 
1        0%          8216 
2       0.5%          7053 
3        1%          6053 
4       1.5%          5195 
5        2%          4458 
6       2.5%          3826 
7        3%          3286 
8       3.5%          2825 
9        4%          2431 

スケールなしのプロット: Without numbers

プロットと目盛り: With numbers

dput:

structure(list(oprocentowanie....factor.proc. = structure(1:9, .Label = c("0%", 
"0.5%", "1%", "1.5%", "2%", "2.5%", "3%", "3.5%", "4%"), class = "factor"), 
    skladki....factor..wektor_skladek.. = structure(c(9L, 8L, 
    7L, 6L, 5L, 4L, 3L, 2L, 1L), .Label = c("2431.59459253388", 
    "2825.48111629658", "3286.93674975244", "3826.96130538247", 
    "4458.17016548586", "5195.00332453903", "6053.96171257516", 
    "7053.8763920252", "8216.21779413142"), class = "factor")), .Names = c("oprocentowanie....factor.proc.", 
"skladki....factor..wektor_skladek.."), row.names = c(NA, -9L 
), class = "data.frame") 
+0

の出力と、あなたは[MWE](http://stackoverflow.com/help/mcve)を投稿してくださいことはできますか?データがどのように表示されているか、またはエラーを再現できるかどうかがわからなければ、ほとんど助けが不可能です。最低でも、値の有無にかかわらずバージョンをy軸に投稿できますか?私の最初の推測はあなたのバーは1000単位の高さではないということです。 –

答えて

2

因子の代わりにskładka列を数値にしてみてください。ラベルがそれ以上に分かれているにもかかわらず、各バー間のステップがすべて同じサイズであることに注意してください。 (たとえば、2431〜2825は7053〜8216と同じ距離です)。これは、それぞれがあなたの要素のレベルの次のラベルにすぎないためです。あなたがscale_y_discrete(breaks=1:9)を追加するのであれば、あなたは(正しく)これは動作するはず9.

を通じてラベル1を取得します:

ggplot(data=dat3, aes(oprocentowanie, as.numeric(as.character(składka)))) + 
    geom_bar(position="dodge", width=0.5, color="#6666FF",stat="identity",fill="#6666FF")+ 
    labs(title="Wrażliwość składki na stopę %") + 
    scale_y_continuous(breaks=c(0,1000,2000,3000,4000,5000,6000,7000,8000,9000) 

あなたは例えば、我々が直接実行できるコードを、投稿することができれば、それはより多くのを助けるだろう、 dput(dat3)

(代わりにscale_y_discretescale_y_continuousを使用するように編集)

+0

残念ながら、それでも同じ結果が得られます。 – Novsar

+0

スケールなしでプロットすると、私の最初のバージョンでは1:9になります。私は文字から数値への変換に必要な 'as.character'の部分を忘れていました(そしてそれを確認することはできませんでした)。おそらくそれを最初の要素にしないことが最善でしょう。追加してみてください。 –

+0

それはまだ追加と同じです。スケールを変更する別の方法があるのでしょうか?私はインターネットでいくつかの助けを求めましたが、限界や何かを加えると軸も消えてしまいます。 – Novsar

関連する問題