gpt4 book ai didi

r - 在多行对齐上绘制轴标签

转载 作者:行者123 更新时间:2023-12-04 17:49:36 25 4
gpt4 key购买 nike

我正在构建一个带有一些 Plotly 水平条形图的 Shiny 应用程序。一些数据标签很长,我想将它们分成多行。它在放置时有效 <br>在我想断线的地方,但轴标签的对齐不太好。请参见下图的输出(左)和所需的图(右)。

Plotly output (left) and desired output (right)

下面是一个最小的工作示例。它省略了 Shiny 部分,因为我希望这不会影响可能的解决方案。

df <- data.frame(
name = paste0('This is a pretty long sentence',1:10),
dimA = 1:10
)

df$name <- gsub('This is a pretty long sentence','This is a<br>pretty long<br>sentence',df$name)


## Hide axes
ax <- list(
title = "",
showline = FALSE,
showticklabels = FALSE,
showgrid = FALSE,
domain = list(0.2, 1)
)
ay <- list(
title = "",
zeroline = FALSE,
showline = FALSE,
showticklabels = TRUE,
showgrid = FALSE
)

p <- df %>%
plot_ly(x = ~dimA,
y = ~name,
type = 'bar',
orientation = 'h'
) %>%
layout(xaxis = ax, yaxis = ay)
p

非常感谢帮助!挣扎了几个小时,但无法找到解决方案!

最佳答案

这不是很一般,但您可以使用 tickvals 调整刻度位置,例如:

ay <- list(
title = "",
zeroline = FALSE,
showline = FALSE,
showticklabels = TRUE,
showgrid = FALSE,
tickvals = 0:9 + 0.25
)

关于r - 在多行对齐上绘制轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46171388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com