2

在谷歌搜索中找不到这个,所以我想我会在这里记录下来。

我的问题是我需要将我的 y 轴标签更改为基点,而不是标准单位,但我找不到解决这个简单问题的方法,我的情节是这样的:

p <- ggplot(plotdat, aes(x = name, y = value, fill = variable)) + 
      geom_bar(position = "dodge")

但我一直在尝试使用这条线,但我一直收到错误消息。

p + scale_y_continuous(labels = function(x) as.character(x*10000), breaks = 10)
Error in as.vector(x, "character") : 
  cannot coerce type 'closure' to vector of type 'character'

如何更改 y 轴刻度标签的格式?

4

2 回答 2

3

要格式化轴刻度标签,请使用 中的formatter选项scale_continuous。所以:

p = p + scale_y_continuous(formatter = function(x) format(x*10000))

这应该给你基点。

于 2012-08-15T17:58:11.527 回答
0

这里投票最多的答案有点过时,该formatter选项不再存在。它似乎已更新为labels。下面是一个之前和之后的最小示例演示。

# Load libraries
library(dplyr)   # CRAN v1.0.6
library(ggplot2) # CRAN v3.3.5
library(scales)  # CRAN v1.1.1

# Without transformation
iris %>%
    ggplot(aes(Sepal.Length, Sepal.Width)) +
    geom_point()

# With transformation
iris %>%
    ggplot(aes(Sepal.Length, Sepal.Width)) +
    geom_point() +
    scale_y_continuous(labels = scales::label_comma(scale = 1000))

reprex 包创建于 2022-02-03 (v2.0.1)

于 2022-02-04T05:24:22.187 回答