修复标题在两行上拆分时的 plotly ggplotly() 标题重叠图标题、两行、ggplotly、plotly

2023-09-06 07:55:55 作者:烂命

在下面的示例中,标题的第二行与情节略有重叠.有没有办法通过增加标题和情节之间的间距来解决这个问题?

In the example below, the second line of the title overlaps slightly with the plot. Is there a way to fix this by increasing the spacing between the title and plot?

library(ggplot2)
library(plotly)
library(magrittr)

p1 <- ggplot(iris, aes(x = Sepal.Length, y = Petal.Length)) +
  geom_point() + 
  ggtitle("A REALLY, REALLY, REALLY LONG TITLE THAT I WANT TO
SPLIT INTO TWO LINES")
p1

ggplotly() %>% config(collaborate=FALSE, cloud=FALSE, displaylogo=FALSE, modeBarButtonsToRemove=c("select2d", "sendDataToCloud", "pan2d", "resetScale2d", "hoverClosestCartesian", "hoverCompareCartesian", "lasso2d", "zoomIn2d", "zoomOut2d"))

推荐答案

Plotly 忽略尾随换行符,还需要 HTML 换行符 <br/> 而不是 换行(见最后的例子).

Plotly ignores trailing new line characters and also needs HTML breaks <br /> instead of for new lines (see example at the end).

添加 <br/> 以手动打破标题并在布局中添加顶部 margin (layout(gp, margin=list(t= 75))).

Add <br /> to manually break your title and add a top margin to your layout (layout(gp, margin=list(t = 75))).

library(ggplot2)
library(plotly)
library(magrittr)

p1 <- ggplot(iris, aes(x = Sepal.Length, y = Petal.Length)) +
  geom_point() + 
  ggtitle("A REALLY, REALLY, REALLY LONG TITLE THAT I WANT TO <br />
SPLIT INTO TWO LINES<br />
")
p1

gp <- ggplotly() %>% config(collaborate=FALSE, cloud=FALSE, displaylogo=FALSE, modeBarButtonsToRemove=c("select2d", "sendDataToCloud", "pan2d", "resetScale2d", "hoverClosestCartesian", "hoverCompareCartesian", "lasso2d", "zoomIn2d", "zoomOut2d"))
gp <- layout(gp, margin=list(t = 75))
gp

ggplot

情节