2016-07-20 4 views

答えて

1

をいただければ幸いです

library(ggplot2) 

ggplot(data=mtcars,mapping=aes(x=carb,y=hp,fill=as.factor(gear)))+ 
    geom_bar(stat="identity",position="dodge") 

ggplot(data=mtcars,mapping=aes(x=carb,y=hp,fill=as.factor(gear)))+ 
    geom_point() 

私は同じ質問を自分で持っていた、とGoogleはに私をもたらしましたこのような質問ですから、私は少し掘り下げると思いました。仮定

私たちは私たちに次のプロットを与える

library(ggplot2) 
ggplot(mtcars, aes(x = cyl, y = mpg, size = hp)) + 
    geom_point() 

をプロットし、私たちが知りたいかmpgための休憩(10、15、...、35)、cyl(4、5、。 ..、8)およびhp(100,150、...、300)が導かれる。 mpgを中心に

enter image description here

我々はscale_y_continuousのコードを検査し、それがcontinuous_scaleを呼び出すことがわかります。その後、

変換オブジェクト変換を一緒にバンドルすることを、trans引数の説明の下、私たちが見る?continuous_scaleを呼び出し、それは逆だし、休憩とラベルを生成するための方法。

その後、?scales::trans_newを見上げ、私たちはbreaks引数のデフォルト値はextended_breaks()であることがわかります。トレイルに続いて、scales::extended_breakslabeling::extended(rng[1], rng[2], n, only.loose = FALSE, ...)となります。これを我々のデータに適用すると、プロットで観察されたことであるが、これをデータに適用すると、

with(mtcars, labeling::extended(range(mpg)[1], range(mpg)[2], m = 5)) 
# [1] 10 15 20 25 30 35 

となる。これはなぜか、なぜなら、なぜなら、なぜなら、なぜなら、凡例には50と350は観察されないのです。私の理解は、答えがhttps://stackoverflow.com/a/13888731/6455166に関連しているということです。

関連する問題