ggplot2的y轴上是否可以有整数和十进制数字的组合?

时间:2018-10-07 15:16:19

标签: r ggplot2 axis-labels yaxis

是否可以删除使用ggplot2显示的不必要的小数位?以下是我当前正在使用的代码部分。我需要包含确切的休息时间,因为我的值很低。我还提供了一个粗略的示例,显示了为解决此问题而生成的图中显示的内容,因此请忽略它的所有其他方面!

scale_y_sqrt(expand = c(0, 0), limits = c(0, ),
             breaks = c(0, 0.01, 0.025, 0.05, 0.1, 0.25,
                        0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10))

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以通过使用labels的{​​{1}}参数或其他任何scale_y_sqrt()手动指定轴点的标签来删除尾随的小数位

下面的代码应为您提供所需的内容:

scale_*_continuous()

下面是一个可重现的小示例,它更完整地说明了要点:

scale_y_sqrt(
  expand = c(0, 0), limits = c(0, ),
  breaks = c(
    0, 0.01, 0.025, 0.05, 0.1, 0.25,
    0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
  ),
  labels = c(
    "0", "0.01", "0.025", "0.05", "0.1", "0.25",
    "0.5", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"
  ),
)

答案 1 :(得分:0)

您可以通过不在功能breaks的{​​{1}}参数中指定中断来删除中断,例如:

scale_y_sqrt()

顺便说一句,如果您不希望精确中断,则无需指定中断。 scale_y_sqrt(expand = c(0, 0), limits = c(0, ), breaks = c(3, 4, 5, 6, 7, 8, 9, 10)) 根据数据范围自动计算要插入的中断。