使用Shiny和ggplot2在单个图形上绘制多条线

齐尔

我正在尝试构建一个允许用户在单个图形上绘制多条线的应用程序。我的数据按年份包含多个国家的旅游数据。

> head(tourism)
  years Bulgaria Czech Republic   Denmark   Poland   Sweden   Norway
1  1995 5437.963       10274.98  9651.070 5523.500 7860.659 7294.971
2  1996 5921.961       13640.53 10810.187 5594.191 7716.620 7236.490
3  1997 5476.931       14932.49 10918.596 7579.637 7658.900 7243.111
4  1998 5197.050       16218.00 10287.564 7229.771 8029.087 7868.735
5  1999 4382.405       16125.00  9965.684 5644.924 8600.785 7814.983
6  2000 5170.091       15597.09 10005.887 6891.283 8654.086 7468.899

现在,我试图以“年”列为x轴,以其他列为y轴绘制数据。

ui = fluidPage(
  titlePanel("Tourism"),
  sidebarLayout(
    sidebarPanel(
      selectizeInput("cnt",
                  "Select Country:",
                  choices = c("Bulgaria", 
                              "Czech Republic",
                              "Denmark",
                              "Poland",
                              "Sweden",
                              "Norway"),
                  selected = "Bulgaria",
                  multiple = TRUE
    )
    ),
    mainPanel(
      plotOutput("plot")
    )
  ) 
)


server = function(input, output) {

  output$plot = renderPlot({
    ggplot(tourism) +
      geom_line(mapping = aes(x = years, y = tourism[,input$cnt], colour = input$cnt)) + 
      labs (x = "Years", y = "Nights spent per 1000", title = "Tourism") + 
      scale_colour_discrete(name = "Country")
  })

}

shinyApp(ui = ui, server)

问题是,如果我尝试一次绘制多个国家/地区的图,则会出现以下错误:“美学长度必须为1或与数据(21)相同:x,y,颜色”。

在搜索时,我发现我缺少观察或反应部分,但我只是想不出如何添加它。

任何帮助,将不胜感激。

扎克

将数据集融为长格式,然后将其子集进行绘制。请尝试以下操作(未提供示例数据,因此我很确定这可以正常工作,但未经测试):

#when loading server.R
library(reshape2)

然后:

 output$plot = renderPlot({
    plot.data <- melt(tourism, id.vars = 'years')
    #not sure if input$cnt is a list or a vector
    #may need to manipulate that before passing
    plot.data <- plot.data[plot.data$variable %in% input$cnt, ]
    ggplot(plot.data) +
      geom_line(mapping = aes(x = years, y = value, colour = variable)) + 
      labs (x = "Years", y = "Nights spent per 1000", title = "Tourism") + 
      scale_colour_discrete(name = "Country")
  })

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用ggplot2绘制两条带状线

ggplot2和Shiny:如何使用图形大小缩放图例的大小?

在ggplot2中绘制地图时避免水平线和疯狂的形状

ggplot,跨构面绘制多条线

使用ggplot2绘制多条曲线

R ggplot2使用2条线和正确的图例绘制单个数据

使用ggplot2在单个图中以图形方式表示许多曲线

在ggplot2中绘制两个误差线和一个点图

ggplot2和gtable:跨面板绘制多条线

使用metafor和ggplot2时如何在散点图上绘制拟合的元回归线

单个ggplot2中有多条数据线

在ggplot2中绘制具有离散轴的矩形和线范围

如何使用facet_grid(ggplot2)在每个构面上绘制多条线

在画布上绘制多条线

在ggplot2中使用pmap自动绘制不同数据集的图形

R Shiny中的Ggplot2图形根据用户输入带有线

为什么matplotlib无法在同一图形上绘制多条线?

如何使用ggplot&R在同一张图表上绘制不同类型的多条线

使用ggplot在x轴上绘制多条线,按其组着色,但保持分开

用线连接ggplot2图形中的点

ggplot:分组和绘制多条线,但分别处理

在Excel图形上放置多条线

在ggplot2中的轮廓线的平面部分上绘制标签

MATLAB:在单个图形中用不同的颜色绘制多条线,并对其进行图例标注。

R语言:如何使用ggplot2在一张具有回归线的图形上绘制多个矢量?

使用ggplot2的图形

在ggplot2中绘制多条线和功能区图

Shiny + ggplot2:根据用户输入在一张图中绘制多条线

如何在python中使用多条线绘制一个图形

TOP 榜单

  1. 1

    来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

  2. 2

    使用AWS Cognito和React的仅限Facebook / Google的登录名(无用户名/密码)

  3. 3

    创建Windows Phone 8应用并将其连接到数据库的最佳方法(最好是SQL Server)

  4. 4

    为什么Java中的System.out.println()打印到控制台?

  5. 5

    卷曲函数无法解析来自bash中变量的代理

  6. 6

    是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

  7. 7

    设置与Apache POI Excel表散点图标记图标的颜色

  8. 8

    将Qt Pyside2与asyncio await语法一起使用?

  9. 9

    崇高的文字+蟒蛇的蟒蛇

  10. 10

    任务':app:minifyReleaseWithR8'.java.lang.NullPointerException的执行失败(无错误消息)

  11. 11

    OpenJDK的和AdoptOpenJDK的区别

  12. 12

    大型数据集缓存到Spark内存中时,“超出了GC开销限制”(通过sparklyr和RStudio)

  13. 13

    “执行测试CMAKE_HAVE_LIBC_PTHREAD”失败实际上是什么意思?

  14. 14

    使用Core 2.2中的Identity,如何在关闭浏览器15分钟后保持会话活动?

  15. 15

    React中的ForwardRefExoticComponent和ForwardRefRenderFunction有什么区别?

  16. 16

    猫鼬查找结果,然后将字段替换为findOne

  17. 17

    如何降级Google Colab的Torch版本

  18. 18

    Keras提前停止回调错误,val_loss指标不可用

  19. 19

    如何避免VSCode中的“导入路径不能以.ts扩展名结尾”错误?

  20. 20

    Nuxt.JS:如何在页面中获取路由URL参数

  21. 21

    是否有为什么会AccessibilityManager.sInstance导致内存泄漏的一个原因?

热门标签

归档