2017-03-06 17 views
2

ggplot2を使用して極座標プロットを作成しています。 360付近のデータがありません。 すべてのデータを表示するにはどうすればよいですか? ここにデータとコードがあります。ここでggplot2を使用した極座標プロットの値がありません

Angle Geno 
1.252 5 
329.714 5 
334.74 5 
348.166 5 
18.29 5 
3.035 5 
359.855 5 
358.348 5 
359.855 5 
9.317 5 
6.195 5 
355.281 5 
333.29 5 
349.235 5 
359.855 5 
1.219 5 
2.058 5 
342.205 5 
1.764 5 
345.321 5 
345.234 5 
337.606 5 
39.661 5 
328.425 5 
347.59 5 
348.545 5 

そして

i = 5 
Hist_LR_Geno <- Hist_LR[Hist_LR$Geno==i,] 
p5 <- ggplot(Hist_LR_Geno, aes(x=Angle)) 
p5 <- p5 + geom_histogram(binwidth=22.5) + 
scale_y_continuous(limits = c(-5, 5), breaks=NULL) + 
scale_x_continuous(limits=c(0,360), breaks=c(0,45,90,135,180,225,270,315)) + 
coord_polar(start=pi, direction=-1) + 
labs(x=NULL, y=NULL) + 
    theme(legend.position="none", 
    axis.text.x=element_blank(), 
    axis.ticks.x=element_blank(), 
    plot.margin=unit(c(-1,0,0,0), "cm"), 
    panel.background = element_rect(fill = "white"), 
    #panel.grid.major = element_line(size=0.2, color = "blue", linetype = "solid"), 
    panel.grid.minor = element_line(size=0.6, color = "blue", linetype = "dotted"), 
    axis.text=element_text(size=6)) 

plot(p5) 

はプロットです。あなたは二つの問題が起こっているんだ

+0

?期待される結果がどうなるべきか明確ではない – GGamba

+0

助けてくれてありがとう。問題は周辺領域の周辺には0度と360度では表示されなかったデータです。パラメータ 'center'が必要でした。 – Takeshi

答えて

1

enter image description here

おかげで、。まず、geom_histogramを使用しました。これは各ビンの行数をカウントしますが、実際には各ビン内にGenoの合計が必要なようです。今は無視してgeom_histogramに行きましょう。実際に何をしようとしているかについてもっと詳しくお聞かせください。私たちは後でその問題に戻ることができます。

私が言ったように、geom_histogramは各ビンの行数を数えます。しかし、ヒストグラムバーのいくつかの行の数は5より大きくなります。ただし、c(-5,5)の制限でscale_y_continuousを設定しました。したがって、5より大きい棒は削除されます。ここでは、より大きなyの限界を有するプロットです:

p5 + geom_histogram(binwidth=22.5) + 
    scale_y_continuous(limits = c(-5, 12), breaks=0:12) + 
    scale_x_continuous(limits=c(0,360), breaks=seq(0,360-45,45)) + 
    coord_polar(start=pi, direction=-1) 

enter image description here

UPDATE:あなたのコメントについて:はい、私はscale_y_continuousと同じ問題で捕まりました。 scale_x_continuousには、バーの幅があるため値も除外されます。一番低いバーは0より下に伸び、一番高いバーは360を超えて伸びるので、xリミットが0から360に設定されると、これらのバーは除外されます。xリミットを拡大できますが、x値は〜

代わりに、最初のビンが0〜22.5(-22.5/2〜22.5/2ではなく)に収まるようにビンの位置を変更してみましょう)、最後のビンは(360-22.5/2と360 + 22.5/2ではなく)360-22.5と360の間に収まります。 centerパラメータがgeom_histogramの場合、これを行うことができます。あなたはちょうど1つのビンの中心を与える必要があり、残りはそれに応じて調整されます。何をしようとする

p5 + geom_histogram(binwidth=22.5, colour="white", center=22.5/2) + 
    scale_y_continuous(limits = c(-5, 14), breaks=0:15) + 
    scale_x_continuous(breaks=seq(0,360,45)) + 
    coord_polar(start=pi, direction=-1) 

enter image description here

+0

ありがとう、eipi10。はい、それは間違いでした。私は範囲 "限界= c(-5、12)"を修正することができます。しかし、まだ14のデータしかありません。 – Takeshi

+0

もう一度、eipi10!ありがとう! 「中心= 22.5/2」は完全に働いた。これがなければ、0-11.25と348.5-360の間のデータは示されなかった。 – Takeshi

関連する問題