[英]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 ")
来将标题向左移动,但这不是我所需要的。 关于如何正确居中的任何想法?
这不是您想要的完全正确的方法,而是我所知道的唯一方法。 希望能帮助到你:
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.