我想自动为离散变量的轴设置断点数和断点的位置,以便绘制的标签实际上是可读的。
例如,在下面的代码中,结果图应该只显示部分标签/ 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)
到目前为止,我尝试使用pretty
和pretty_breaks
,但这些不是离散变量。
答案 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)