You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言Plotly堆叠条形图中修改Y轴?附数据集与代码

嘿,我来帮你搞定这个Plotly堆叠条形图的Y轴修改问题!你可以通过在layout()函数里配置yaxis参数,轻松定制Y轴的标题、范围、刻度样式等属性,下面是几种常见需求的具体实现:

修改Plotly堆叠条形图Y轴的实用方法

1. 给Y轴添加清晰标题

如果想让Y轴含义更明确(比如对应你的n_pc字段,设置成“小时推文占当日比例(%)”),代码可以这么改:

cc2 %>% 
  plot_ly(x = ~day, y = ~n_pc, color = ~n_pc, hoverinfo = 'y') %>% 
  add_bars(colors = rainbow) %>%  # 把你注释掉的add_bars恢复,也可以指定颜色数量比如rainbow(7)
  layout(
    barmode = "stack",
    yaxis = list(title = "小时推文占当日比例(%)")  # 这里设置Y轴标题
  )

2. 限定Y轴数值范围

因为n_pc是百分比,你可能想把Y轴固定在0-100的范围,避免图表显示异常:

cc2 %>% 
  plot_ly(x = ~day, y = ~n_pc, color = ~n_pc, hoverinfo = 'y') %>% 
  add_bars(colors = rainbow) %>% 
  layout(
    barmode = "stack",
    yaxis = list(
      title = "小时推文占当日比例(%)",
      range = c(0, 100)  # 强制Y轴从0到100
    )
  )

3. 自定义刻度与标签

要是想让刻度显示更直观(比如每20%显示一个带百分号的标签),可以这么配置:

cc2 %>% 
  plot_ly(x = ~day, y = ~n_pc, color = ~n_pc, hoverinfo = 'y') %>% 
  add_bars(colors = rainbow) %>% 
  layout(
    barmode = "stack",
    yaxis = list(
      title = "小时推文占当日比例(%)",
      tickmode = "array",
      tickvals = c(0, 20, 40, 60, 80, 100),  # 自定义刻度的数值点
      ticktext = c("0%", "20%", "40%", "60%", "80%", "100%")  # 对应显示的标签文本
    )
  )

4. 调整Y轴外观样式

如果想优化字体、隐藏网格线这类细节,也可以在yaxis里设置:

cc2 %>% 
  plot_ly(x = ~day, y = ~n_pc, color = ~n_pc, hoverinfo = 'y') %>% 
  add_bars(colors = rainbow) %>% 
  layout(
    barmode = "stack",
    yaxis = list(
      title = list(
        text = "小时推文占当日比例(%)",
        font = list(size = 14, color = "#333")  # 标题字体大小和颜色
      ),
      tickfont = list(size = 12, color = "#666"),  # 刻度标签字体设置
      showgrid = FALSE  # 隐藏Y轴网格线
    )
  )

另外提醒下,你原来的代码里add_bars(colors = rainbow)被注释掉了,记得恢复它才能应用颜色映射哦~

内容的提问来源于stack exchange,提问作者RMN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:07:59