使用R中的ggplot2为所有X轴值添加名称

时间:2018-04-01 00:02:17

标签: r ggplot2

数据框的头部如下:

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.很新。

The output This is my Output

1 个答案:

答案 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))

enter image description here