繁体   English   中英

相对于R Plotly中整个绘图区域的定心轴标题

[英]Centering axis title relative to the entire plot area in R Plotly

我在Plotly中有一个水平条形图,上面有很长的轴标签和很长的x轴标题。 我在Shiny中使用此图形,因此其宽度取决于用户的屏幕大小。 问题是在较小的屏幕上,轴标题被剪切了。 我希望它相对于整个绘图区域而不是轴居中,以防止出现这种情况。

最小示例:

data <- data.frame(
    x = c(0.5, 0.3, 0.1),
    y = c("Long axis label 1", "Long axis label 2", "Long axis label 3")
)

plot_ly(
    data,
    y = ~ y,
    x = ~ x,
    type = "bar"
) %>% layout(
        margin = list(l = 160, r = 20, b = 50, t = 20),
        xaxis = list(title = "Preeeeeeeeeeeeeety long X axis label", tickformat = "%"),
        yaxis = list(title = "Y axis label", tickprefix = "    ", tickwidth = 1, tickcolor = toRGB("white"))

    )

在较小的屏幕上看起来如何:

在此处输入图片说明

这是我希望的样子:

在此处输入图片说明

我已经弄清楚了,可以通过添加不间断的空格(例如list(title = "Preeeeeeeeeeeeeety long X axis label&nbsp;&nbsp;&nbsp;")来将标题向左移动,但这不是我所需要的。 关于如何正确居中的任何想法?

这不是您想要的完全正确的方法,而是我所知道的唯一方法。 希望能帮助到你:

library(dplyr)
library(plotly)

data <- data.frame(
  x = c(0.5, 0.3, 0.1),
  y = c("Long axis label 1", "Long axis label 2", "Long axis label 3")
)

plot_ly(
  data,
  y = ~ y,
  x = ~ x,
  type = "bar"
) %>% layout(
  margin = list(l = 160, r = 20, b = 50, t = 20),
  annotations = list(text = 'Preeeeeeeeeeeeeety long X axis label',
                     font = list(size = 12),
                     showarrow = F,
                     xref = 'paper', x = -0.3,
                     yref = 'paper', y = -0.2))

)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM