如何在屏幕上显示文本工具提示(ggplotly R)

时间:2019-07-11 14:05:32

标签: r r-plotly

使用带有长说明的工具提示生成可绘制的geom_point()图时,软件包的标准是将文本显示在一行中。这样做的问题是它不适合屏幕。

如何以一种可以读取的方式断开线?

@StreamListener
@SendTo(Processor.OUTPUT)
public KStream<SomeKey, SomeValue> process(@Input(Processor.INPUT) KStream<SomeKey, SomeValue> inputStream) {
        inputStream.foreach(((key, value) -> LOGGER.info("Processing key: " + key)));
        return inputStream;

当前,我收到以下错误消息,但它不会产生任何问题。

 library(tidyverse)
 library(plotly)


bd <- data.frame(Freq = c(1, 2, 3),
                     Criticality = c("A", "B", "C"),
                     Status = c("alpha", "beta", "alpha"),
                     Plant = c(1, 2, 1),
                     Description = c("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                      "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy",
                                      "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"))

    g <- bd %>% 
       ggplot(aes(x = Freq, y = Criticality)) +
      geom_point(aes(shape = Status, col = Plant, text = Description)) +
      geom_jitter(aes(shape = Status, col = Plant, text = Description)) +
      guides(size = FALSE)

    ggplotly(g, tooltip = c("Description"))

1 个答案:

答案 0 :(得分:0)

如果字符串没有空格,我将使用Ben建议的方法。如果有空格,您可以使用str_wrap()

library(tidyverse)
library(plotly)

bd <-
  tibble(
    Freq = c(1, 2, 3),
    Criticality = c("A", "B", "C"),
    Status = c("alpha", "beta", "alpha"),
    Plant = c(1, 2, 1),
    Description = paste(sentences[1:3], collapse = " "),
    tooltip = str_wrap(Description, 30)
  )

g <- bd %>% 
  ggplot(aes(x = Freq, y = Criticality)) +
  geom_point(aes(shape = Status, col = Plant, label = tooltip)) +
  geom_jitter(aes(shape = Status, col = Plant, label = tooltip)) +
  guides(size = FALSE)

ggplotly(g, tooltip = c("tooltip"))

enter image description here