更改 ggplot2 图表的标签

问题描述 投票:0回答:1

enter image description here

我有这张图,在 x 轴上你可以看到它写着“Semana 1”、“Semana 2”等等;意思是“第 1 周”、“第 2 周”等

我希望他们准确地说出

"20-Dic","28-Dic","03-Ene","10-Ene", "21-Ene", "28-Ene", "2-Feb", "10-Feb"

分别。

问题是,如果我更改

.csv
中的条目名称,图表中的顺序就会以字典顺序打乱,如下所示:

enter image description here

另一方面,我一直在尝试使用临时解决方案更改名称,但无能为力。

我希望找到一个优雅的解决方案。我不太精通 R。

提前致谢。

r ggplot2
1个回答
1
投票

如果您使用

labels
,您可以将所需的标签作为字符向量传递给
ggplot2::scale_x_discrete()
{ggplot2}
参数。

weeks <- c(1:9)
df <- data.frame(
  week = paste("Semana", weeks),
  value = dnorm(weeks, mean = 5)
)
df
#>       week        value
#> 1 Semana 1 0.0001338302
#> 2 Semana 2 0.0044318484
#> 3 Semana 3 0.0539909665
#> 4 Semana 4 0.2419707245
#> 5 Semana 5 0.3989422804
#> 6 Semana 6 0.2419707245
#> 7 Semana 7 0.0539909665
#> 8 Semana 8 0.0044318484
#> 9 Semana 9 0.0001338302

p <- ggplot2::ggplot(
  data = df,
  ggplot2::aes(x = week, y = value)
) +
  ggplot2::geom_point()
p


p +
  ggplot2::scale_x_discrete(
    labels = c(
      "20-Dic", "28-Dic", "03-Ene",
      "10-Ene", "21-Ene", "28-Ene",
      "2-Feb", "10-Feb", "20-Oct"
    )
  )

创建于 2024 年 11 月 5 日,使用 reprex v2.1.1.9000

© www.soinside.com 2019 - 2024. All rights reserved.