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

如何使用plot_ly的subplot函数统一设置子图标题字号?

解决plotly子图标题字号统一修改的问题

当使用plotly的subplot功能时,仅设置yaxis的titlefont只会对第一个子图生效——因为子图的轴会被自动编号,3行子图对应的y轴依次是yaxis、yaxis2、yaxis3。下面提供两种可行的解决方法:

方法一:创建子图时单独设置字号

在生成每个plot_ly对象时,直接为其y轴指定标题字号,再进行子图组合:

# 为每个子图单独配置y轴标题字号
unemployed <- plot_ly(data = your_data) %>% 
  layout(yaxis = list(titlefont = list(size = 8)))

employed <- plot_ly(data = your_data) %>% 
  layout(yaxis = list(titlefont = list(size = 8)))

not_in_labor_force <- plot_ly(data = your_data) %>% 
  layout(yaxis = list(titlefont = list(size = 8)))

# 组合子图并设置全局标题和其他样式
subplot(unemployed, employed, not_in_labor_force, 
        nrows = 3,
        titleY = TRUE, titleX = TRUE, shareX = TRUE) %>%
  layout(title = "Employment, Unemployment, and Not in Labor Force Shares by Race",
         yaxis = list(zerolinewidth = 2, 
                      zerolinecolor = '#ffff'))

方法二:在组合后的layout中逐个指定轴样式

在subplot后的layout里,针对每个子图的y轴(yaxis、yaxis2、yaxis3)分别设置标题字号:

subplot(unemployed, employed, not_in_labor_force, 
        nrows = 3,
        titleY = TRUE, titleX = TRUE, shareX = TRUE) %>%
  layout(title = "Employment, Unemployment, and Not in Labor Force Shares by Race",
         yaxis = list(zerolinewidth = 2, 
                      zerolinecolor = '#ffff',
                      titlefont = list(size = 8)),
         yaxis2 = list(titlefont = list(size = 8)),
         yaxis3 = list(titlefont = list(size = 8)))

注意:不要直接使用titlefont2这类写法,plotly的轴样式需要通过对应轴的编号(如yaxis2)来配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:22:44