首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ggplot2标记小面带

用ggplot2标记小面带
EN

Stack Overflow用户
提问于 2022-11-30 01:50:01
回答 1查看 41关注 0票数 1

这个问题可以是G-图线图中的多行x轴标签问题的延续。

我需要知道如何给这些条子贴上标签。例如,在给定的链接中,在每个地块的顶部都有提到的年份,例如2009年、2010年等等。如果我需要显示Year=2009、Year=2010等,而不是2009年、2010年等,我应该如何更改代码?

样本代码

代码语言:javascript
复制
set.seed(1)
df=data.frame(year=rep(2009:2013,each=4),
              quarter=rep(c("Q1","Q2","Q3","Q4"),5),
              sales=40:59+rnorm(20,sd=5))
library(ggplot2)
ggplot(df) +
  geom_line(aes(x=quarter,y=sales,group=year))+
  facet_wrap(.~year,strip.position = "top",scales="free")+
  theme(#panel.spacing = unit(0, "lines"),
    strip.placement = "outside",
    axis.title.x=element_blank(),
    legend.position="none") 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-30 03:18:27

修改facet标签有多种方法。您可以在绘制之前修改faceting变量:

代码语言:javascript
复制
df$year <- paste0("Year=", df$Year)

ggplot(df) +
  ...

也可以在facet_wrap()中修改它。

代码语言:javascript
复制
  ... +
  facet_wrap(
    .~paste0("Year=", year),
    strip.position = "top",
    scales = "free"
  ) +
  ...

或者您可以指定一个标牌函数。对于您的情况来说,这无疑是过分的,但对于以更复杂的方式转换标签可能很有用。

代码语言:javascript
复制
  ... +
  facet_wrap(
    .~year,
    labeller = as_labeller(\(x) paste0("Year=", x)),
    strip.position = "top",
    scales = "free"
  ) +
  ...

所有这些方法的输出:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74622055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档