2017-05-27 10 views
2

これは簡単ですが、いくつかのエラーが発生しています。セカンダリのy軸のラベルを複製してカスタマイズする必要があります。二次Y軸を複製してカスタマイズする

まず、この単純なコードは、次の図得られるはず:

ggplot(data = mpg, aes(x = displ, y = hwy)) + 
     geom_point() + 
     scale_x_continuous(sec.axis = dup_axis()) + 
     scale_y_continuous(sec.axis = dup_axis()) 

enter image description here

をしかし、私は次のエラーを取得する理由を私は知らない(それはscale_引数なしで動作し、私はggplot2を持っていますバージョン2.2.1):

Error in .Call(rhs, f) : first argument must be a string (of length 1) or native symbol reference

第二に、y軸が複製されると私右側に、( "a"、 "b"、 "c")と言うように、目盛りラベル(20,30,40)を変更したいと思います。

エラーを修正し、セカンダリy軸の目盛りラベルをカスタマイズするにはどうすればよいですか?

+0

暗闇の中のショット:残りのコードの前にライブラリ( "lazyeval")を実行できますか? –

答えて

3

ggplot2(2.2.1)の同じバージョンで、コードの最初の部分がうまく動作します。あなたの2番目の質問に関連して、sec_axis()を使用して仕事をします。

ggplot(data = mpg, aes(x = displ, y = hwy)) + 
    geom_point() + 
    scale_x_continuous(sec.axis = dup_axis()) + 
    scale_y_continuous(sec.axis = sec_axis(~ . * 1, breaks = c(20,30,40), labels = c("a","b","c"))) 

enter image description here

注:あなたが~ . * 1などを使用するのと同じスケールを持っていますが、ただのラベルを変更したいので、最初の引数は、変換式transであることに気付いて二軸の」形質転換式でなければなりません "。

+1

明確で迅速な、ありがとう。私はエラーに関する最初の質問に自分自身を答えます。環境には、ggplot2をロードする際にエラーが発生していると思われます(rhsは既に 'lazyeval'名前空間に定義されているため、rhsのNativeSymbolInfoを割り当てられませんでした)。記号€と関連しています)。それを解決するために、私は起動前に自分の環境をクリアしました( 'rm(list = ls())) – jlp

関連する問題