自动确定离散变量的轴刻度数

时间:2015-09-02 18:57:30

标签: r plot ggplot2

我想自动为离散变量的轴设置断点数和断点的位置,以便绘制的标签实际上是可读的。

例如,在下面的代码中,结果图应该只显示部分标签/ x变量。

ggData <- data.frame(x=paste0('B',1:100), y=rnorm(100))
ggplot(ggData, aes_string('x', 'y')) +
   geom_point(size=2.5, shape=19, na.rm = TRUE) 

enter image description here

到目前为止,我尝试使用prettypretty_breaks,但这些不是离散变量。

1 个答案:

答案 0 :(得分:2)

拳头我们将因子转换为角色,然后转换为有序因子。其次,我们将ggData $ x子集化,以创建一个带有我们想要的刻度的向量(标签)。在示例中每10个元素。最后,我们使用scale_x_discrete在参数breaks内使用前一个向量(标签)创建绘图。

ggData <- data.frame(x=paste0('B',1:100), y=rnorm(100))
ggData$x <- as.character(ggData$x)
ggData$x <- factor(ggData$x, levels=unique(ggData$x))
labels <- ggData$x[seq(0, 100, by= 10)]

ggplot(ggData, aes_string('x', 'y')) +
  geom_point(size=2.5, shape=19, na.rm = TRUE)  +
scale_x_discrete(breaks=labels)

enter image description here