R闪亮用消息替换空图

Posted

技术标签:

【中文标题】R闪亮用消息替换空图【英文标题】:R shiny replace empty plot with message 【发布时间】:2021-10-02 18:24:49 【问题描述】:

我有带线图的仪表板。当应用了过滤器并且数据为空时,我们会看到没有任何线条的空图。我想显示没有可用数据的文本消息,而不是空图。

我看到了 python 的解决方案,但我找不到 R (link) 的解决方案。没有要绘制的数据时,我将如何显示短信?

plot_ly(
            data = temp,
            y = ~value,
            x = ~Year_month,
            color = ~line_name
        ) %>%
            add_lines() %>%
            layout(
                yaxis = list(
                    tickformat = "%",
                    title = ""
                ),
                xaxis = list(title = ""),
                legend = list(
                    orientation = "h", yanchor = "bottom", y = -1,
                    font = list(size = 10)
                )
            )

【问题讨论】:

【参考方案1】:

也许你可以用这个

if (is.null(temp)) 
   df <- data.frame()
   p <- ggplot(df) + geom_point() + xlim(0, 10) + ylim(0, 10) +
      annotate("text", x=3.9, y=5.0, size=40, col="red", label="(" ) +
      annotate("text", x=5, y=5.6, size=12, col="red", label="o  o" ) +
      annotate("text", x=6.1, y=5.0, size=40, col="red", label=")" ) +
      annotate("text", x=5, y=5.1, size=12, col="red", label="|" ) +
      geom_segment(aes(x = 4.7, xend = 5.3, y = 4.4, yend = 4.4), size=2, color="red") +
      annotate("text", x=5, y=3, size=8, col="red", label="No Data")
   
   ggplotly(p)
else  ### your plotly code below
   plot_ly(...)

【讨论】:

我有另一个关于 plotly 的问题。你对此有什么想法吗? ***.com/questions/68548305/…

以上是关于R闪亮用消息替换空图的主要内容,如果未能解决你的问题,请参考以下文章

R shiny 中的级别替换创建两个级别列表,一个为 NULL

根据闪亮小部件的 if 条件将值替换为数据表

使用R创建动态列表以在闪亮中使用它

R闪亮的动态DT数据表记住过滤器/排序

可以在闪亮的 ui 中显示控制台消息(用 `message` 编写)?

PHP 用 <br/> 替换文字 \r\n (不替换新行)