数据框的头部如下:
Age number
21 4
22 4
23 5
24 6
25 11
26 10
我正在尝试使用ggplot使用以下代码绘制频率图表
ggplot(data=x2, aes(x=Age, y=number)) +
geom_bar(stat="identity", fill="steelblue")+
geom_text(aes(label=number), vjust=-0.3, size=3.5)+
theme_minimal()+ labs(x = "Age", y = "Number of users")+
ggtitle("Frequency of Age")
我得到了输出,但并非X轴上的所有值都可见。我很抱歉,因为这可能是一个非常愚蠢的问题,但我对R.很新。
答案 0 :(得分:2)
您可以使用scale_x_continuous
来设置轴断点。如此大量的轴标签,如果翻转方向,这可能会更好。即便如此,它仍然非常拥挤。
library(tidyverse)
# Fake data
set.seed(2)
x2 = data_frame(Age=sample(20:70, 1000, replace=TRUE)) %>%
group_by(Age) %>%
summarise(number=n())
ggplot(data=x2, aes(x=Age, y=number)) +
geom_bar(stat="identity", fill="steelblue")+
geom_text(aes(label=number, y=0.5*number), size=3, colour="white")+
theme_minimal() +
labs(x = "Age", y = "Number of users")+
ggtitle("Frequency of Age") +
coord_flip() +
scale_x_continuous(breaks=min(x2$Age):max(x2$Age), expand=c(0,0.1)) +
scale_y_continuous(expand=c(0,0.2))