假设因子变量是有序的,处理图中太多因子的最佳方法是什么?默认看起来不太好:

ggplot(data.frame(x=factor(trunc(runif(10000, 0, 100)), ordered=T)), aes(x=x)) +
  geom_histogram()

最佳答案

您可以翻转值。

ggplot(data.frame(x=factor(trunc(runif(10000, 0, 100)), ordered=T)), aes(x=x)) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  geom_histogram()

flip <- ggplot(data.frame(x=factor(trunc(runif(10000, 0, 100)), ordered=T)), aes(x=x)) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  geom_histogram()

如果仍然无法满足您的口味,可以设置手动休息时间。在这种情况下,我使用五个。
prune <- ggplot(data.frame(x=factor(trunc(runif(10000, 0, 100)), ordered=T)), aes(x=x)) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  scale_x_discrete(breaks = seq(0, 100, by = 5)) +
  geom_histogram()

library(gridExtra)
grid.arrange(flip, prune)

10-07 15:02