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

#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有关。将问题归结为问题的真正原因是什么,将有助于您更快地获得帮助。另外,就像我在评论中提到的那样,在aes内的ggplot调用中,不应将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")

这将为您提供:

r - R Shiny 的水平截面-LMLPHP

您可以更改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))

这将为您提供:

r - R Shiny 的水平截面-LMLPHP

关于r - R Shiny 的水平截面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46895844/

10-12 17:24
查看更多