【发布时间】:2021-01-20 15:37:47
【问题描述】:
我试图展示一台机器的可用行程范围,该机器具有 360 度旋转,并且具有另一个与偏航无关的 -5 到 152 范围的运动轴。我能找到的所有条形图绘制函数都假设数据从 0 开始,这会在 -5 和 0 之间的图表中间留下一个洞。是否可以告诉 geom_bar() 或 geom_col() 开始绘制 - 5 而不是 0?
这是我正在使用的代码和示例图表。
df <- data.frame(0:360)
colnames(df) = "Yaw"
df$Max.Static <- ((runif(361) * 157)-5)
library(ggplot2)
ggplot(df, aes(x =Yaw , y = Max.Static)) +
geom_col(width = 1, alpha = .5 , fill = "#69B600") +
scale_y_continuous(
limits = c(-5,152),
breaks = seq(0,140,20)
) +
scale_x_continuous(
limits = c(-1,361),
breaks = seq(0,360,45),
minor_breaks = seq(0,360,15)
) +
coord_polar(theta = "x") +
labs(x = NULL, y = NULL) +
theme(axis.text.y = element_blank(),
axis.ticks = element_blank())
【问题讨论】:
-
变换你的数据,加上 5,使它从 0 开始,但调整标签,然后对标签进行逆变换,使开始标记为 -5。 (虽然在这个例子中没有半径标签,所以没有人会更聪明......)
标签: r ggplot2 geom-bar polar-coordinates