R 如何使图表标题越过多行,并在绘图中左对齐?

R 如何使图表标题越过多行,并在绘图中左对齐?,r,plotly,scatter-plot,r-plotly,scatter3d,R,Plotly,Scatter Plot,R Plotly,Scatter3d,我正在plotly中创建一个3D散点图,希望有一个几句话长的标题(为了描述图形),标题左对齐,不干扰图形本身,也不被绘图区域切断 下面的代码在plotly中的左对齐标题上合并了stackoverflow答案,但当您有一个需要超过3-4行的长标题时,它没有帮助 使用\n会使标题的文本转到第二行,但仍会被绘图区域截断,并且不会左对齐 library(plotly) metric1 <- c(116,230,120,200,210,188,130,99,101,120) metric2 <

我正在plotly中创建一个3D散点图,希望有一个几句话长的标题(为了描述图形),标题左对齐,不干扰图形本身,也不被绘图区域切断

下面的代码在plotly中的左对齐标题上合并了stackoverflow答案,但当您有一个需要超过3-4行的长标题时,它没有帮助

使用\n会使标题的文本转到第二行,但仍会被绘图区域截断,并且不会左对齐

library(plotly)

metric1 <- c(116,230,120,200,210,188,130,99,101,120)
metric2 <- c(79,109,120,95,130,98,118,130,140,88)
metric3 <- c(30,28,42,22,6,2,17,43,20,28)
class <- c(3,4,2,1,1,4,4,3,2,3)
df <- data.frame(metric1,metric2,metric3,class)

my_colors=c("red", "blue", "green", "#000000")[df$class]

p <- plot_ly(df, 
    x = ~metric1, 
    y = ~metric2, 
    z = ~metric3, text = class, type = "scatter3d", 
    mode = "markers", marker = list(color = my_colors)) %>%

    add_annotations(
    x=0, y=1.15, 
    text="Figure: The title of the figure will explain what information can be gleaned from the figure. Then the next sentence, which is still in this title, will elaborate on implications from the results. I want to be able to extend this as needed.", 
    font=list(size=17)
    ) %>% 

    layout(title = FALSE,
      scene = list(xaxis = list(title = 'metric 1', range = c(0,300)),
                 yaxis = list(title = 'metric 2', range = c(0,150)),
                 zaxis = list(title = 'metric 3', range = c(0,100))), showlegend = FALSE)

p
library(plotly)

metric1我认为在
align=“left”
/n
的帮助下,您将得到您想要的:

metric1 <- c(116,230,120,200,210,188,130,99,101,120)
metric2 <- c(79,109,120,95,130,98,118,130,140,88)
metric3 <- c(30,28,42,22,6,2,17,43,20,28)
class <- c(3,4,2,1,1,4,4,3,2,3)
df <- data.frame(metric1,metric2,metric3,class)

my_colors=c("red", "blue", "green", "#000000")[df$class]

p <- plot_ly(df, 
             x = ~metric1, 
             y = ~metric2, 
             z = ~metric3, text = class, type = "scatter3d", 
             mode = "markers", marker = list(color = my_colors)) %>%

  add_annotations(
    x=0.4, y=0.9,
    align = "left",
   # text="Figure: The title of the figure will explain what information can be gleaned from the figure. Then the next sentence, which is still in this title, will elaborate on implications from the results. I want to be able to extend this as needed.", 
   text=paste("Figure: The title of the figure will explain what information can be gleaned from the figure",  "Then the next sentence, which is still in this title", "I want to be able to extend this as needed.", sep="\n") ,
   font=list(size=17)
  ) %>% 

  layout(title = FALSE,
         scene = list(xaxis = list(title = 'metric 1', range = c(0,300)),
                      yaxis = list(title = 'metric 2', range = c(0,150)),
                      zaxis = list(title = 'metric 3', range = c(0,100))), showlegend = FALSE)

p
metric1