R Shiny 横款

标签 r plot ggplot2 shiny

我有一张公司 Assets 演变的图表,我想画一个与牛轴平行的水平剖面图,从 300000 到 400000,这应该表明该指标的最佳值(利益相关者想要什么) 和线(图形本身)应该在该部分上方,以便立即查看特定时间的值是否合适。

#date_a
An         AI       AC    AT
2011    147198  292282  439480
2012    164660  175440  340100
2013    153755  202013  355768
2014    141857  242317  384174
2015    137748  270366  408114
2016    129087  397289  526376

#in ui.r
fluidRow(
                  width="100%",
                  column(4,plotOutput(outputId = "act", height = 100))
                ),
#in server.r
  output$act<- renderPlot({
    ggplot(date_a, aes(date_a$An, date_a$AT)) + 
      geom_line(aes(group=1), colour="#000000") +
      geom_point(size=3, colour="#FF0000")+
      labs(x = "An", y = "Active(lei)") +
      ggtitle("Evolutia activelor totale")
  })

最佳答案

首先,这似乎与shiny 没有任何关系。您的问题与 ggplot2 有关。将您的问题归结为问题的真正原因将有助于您更快地获得帮助。此外,正如我在评论中提到的,在 ggplot 内的 aes 调用中,您不应将 data_a$ 放在列前面名字。

话虽如此,如果您想要填充从 y = 300,000 到 y = 400,000 的整个区域,那么您可以使用 geom_ribbon,如下所示:

ggplot(data_a, aes(An, AT)) + 
  geom_line(aes(group=1), colour="#000000") +
  geom_point(size=3, colour="#FF0000")+
  labs(x = "An", y = "Active(lei)") +
  ggtitle("Evolutia activelor totale") +
  geom_ribbon(aes(ymin = 300000, ymax = 400000), alpha = 0.2, fill = "blue")

这会给你这个:

enter image description here

您可以更改 alphafill 的值以使该区域看起来像您想要的那样。

如果您只想在 300,000 和 400,000 处设置两条水平线,那么您可以这样做:

ggplot(data_a, aes(An, AT)) + 
  geom_line(aes(group=1), colour="#000000") +
  geom_point(size=3, colour="#FF0000")+
  labs(x = "An", y = "Active(lei)") +
  ggtitle("Evolutia activelor totale") +
  geom_hline(aes(yintercept = 300000)) +
  geom_hline(aes(yintercept = 400000))

这会给你这个:

enter image description here

关于R Shiny 横款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46895844/

相关文章:

javascript - 在 htmlWidgets 的 onRender() 中修改选定点的有效方法

r - 如何并行地向两个地 block 添加点? (在R)

r - 显示一年一次并在其中分组月份的简洁方法?

python - 如何获取两个列表中对应的值

r - 使用 ggplot 与使用基本 R 函数时的图形结果不同?

从图例中删除特定标记

r - 使用 predict() 函数时出错

R:内存不足,如何遍历行?

r - 将表达式传递到 `MoreArgs` 的 `mapply`

python - 按多列对 Pandas Dataframe 进行分组以获得特定值