在geom_histogram
中创建ggplot
时,bin标签会直接显示在条形图下方。如何使它们出现在bin的任一侧,以便它们描述每个bin的范围(以便包含从0到10的case的bin将出现在0和10标签之间)?
我尝试使用
geom_histogram(position=position_nudge(5))
但是,我正在使用的直方图是堆叠的(以区分每个bin中的类别),当我添加此位置时,此效果会被破坏。还有另一种方法吗?也许移动轴标签本身而不是条形图?
可重复的代码:
dd<-data.frame(nums=c(1:20,15:30,40:55),cats=c(rep("a",20),rep("b",30),rep("c",2)))
ggplot(dd, aes(nums))+geom_histogram(aes(nums,fill=cats),dd,binwidth = 10)
结果如下:
我希望将条向右移动5,以使0与直方图的左侧对齐
答案 0 :(得分:1)
您可以尝试定义中断和标签
n <- 10
ggplot(dd, aes(nums, fill=cats)) +
geom_histogram(binwidth = n, boundary = 0) +
scale_x_continuous(breaks = seq(0,55,n), labels = seq(0,55, n))
答案 1 :(得分:0)
以下移动轴的标签。我不确定如何移动x轴上的刻度,所以我删除了它们。
ggplot(dd, aes(nums))+geom_histogram(aes(nums),dd,binwidth = 10)+
theme(axis.text.x = element_text(hjust = 5),
axis.ticks.x = element_blank())