【发布时间】:2019-10-01 00:02:46
【问题描述】:
我正在 ggplot 中绘制一个极坐标直方图,但我遇到了一个问题:我似乎无法同时绘制条形图,以便它们与各自的刻度线居中对齐并防止 ggplot 丢弃任何我的价值观。
这个screenshot 说明了问题。
可重现的例子:
library(ggplot2)
data <- data.frame(b = c(0:360))
ggplot(data, aes(x = b)) +
geom_histogram(binwidth = 10, fill = 'grey', color = 'black') +
scale_x_continuous(breaks=seq(0, 270, by=90), limits = c(0, 360)) +
coord_polar(start = 0)
我收到此消息,但 360° 的栏不见了:
Warning message:
Removed 2 rows containing missing values (geom_bar).
如果我添加一个边界输入,所有的条都会出现,并且不会删除任何值。但是,条形现在相对于它们的刻度线左对齐,而不是居中对齐。
ggplot(data, aes(x = b)) +
geom_histogram(binwidth = 10, boundary = 0, fill = 'grey', color = 'black') +
scale_x_continuous(breaks=seq(0, 270, by=90), limits = c(0, 360)) +
coord_polar(start = 0)
最终,如何确保条形图保持居中对齐而不是左对齐而不丢失任何值?
【问题讨论】:
-
你的数据是 361 宽的,这是故意的吗?这不会平均分成 10 个桶。
-
是的,这是故意的,0/360 处的栏会更长一些。
标签: r ggplot2 histogram polar-coordinates