4

いくつかの標高データ (通常は -90 度から 90 度の間) をプロットしようとしていますが、coord_polar. このコードを見てください:

library(ggplot2)
#
r = c(2:8)*20
e = c(-4:9)*10
a = c(0:71)*5

points = expand.grid(r,e,a)
colnames(points) = c("distance", "elevation", "azimuth")
points$elevation[points$elevation <0] = points$elevation + 360

forEle = subset(points, azimuth == 0)


#ele_range = 
ggplot(forEle, aes( x=elevation, y=distance))+
geom_point()+
coord_polar(theta = "x", start = -1.5708, direction = -1)+
scale_y_continuous(breaks = c(0:16)*10, limits=c(0, 160)) +
scale_x_continuous(breaks=seq(0, 359, by=30), labels=c(expression(0^degree), expression(30^degree), expression(60^degree), expression(90^degree), expression(60^degree), expression(30^degree), expression(0^degree), expression(-30^degree), expression(-60^degree), expression(-90^degree), expression(-60^degree), expression(-30^degree)), limits=c(0, 360)) +
labs(title = "",
        x = "x",
        y = "y")+
theme(legend.position="bottom")

私の最初の難しさは、プロットに負の角度をマップしようとすることでした (すべての負の値に 360 度を追加することでそれを行いました) が、それを行うためのより良い方法があるかどうか疑問に思います。2 つ目は、さらに重要なことですが、出力を -90 度から 90 度、つまりプロットの右側にクリップ (または制限) したいのですが、できませんでした。この問題に関するヘルプをいただければ幸いです。

4

1 に答える 1

1

私はパーティーに少し遅れましたが、あなたはこのようなことを意味しますか?

ここに画像の説明を入力

円全体で -90 ~ 90 で行うこともできます。

ここに画像の説明を入力

最初のものについて:

scale_x_continuous(limits=c(-180,180),breaks=seq(-90, 90, 45))

そして2番目のものについて:

scale_x_continuous(limits=c(-90,90),breaks=seq(-90, 90, 45))
于 2014-03-05T22:47:52.347 に答える