- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是编程、R、shiny 和 ggvis 的初学者,试图全神贯注于基于用户输入的响应式(Reactive)数据更新。下面是一个 Shiny 的应用程序的可重现示例,其中包含我正在尝试构建的类型的时间过程图。
应用应该运行,并且应该根据用户输入的变化进行更新。但是,只有在 ggvis() 调用中使用“映射”语法 ( = ) 调用 x、y 和大小变量时,该图才会更新。我的直觉是使用“设置”语法 ( := ) 或 ( ~ ) 运算符将有助于解决以下问题:
问题是,当用户输入改变时,不是生成新图,而是将新图发送到客户端,我希望数据点动态更新 - 飞过图到他们的新(x ,y,size) 位置。
对于 ggvis 如何将给定数据点(从数据框的各个列中获取的 x、y 和大小值)绑定(bind)到更新的数据点(同一行中的三个不同列),我在语法上还不太满意该数据框)。目前 ggvis 中是否有允许我正在寻找的更新类型的功能?
library(shiny)
library(ggvis)
shinyUI(pageWithSidebar(
headerPanel=headerPanel("Reactive Data Update Problem"),
sidebarPanel=sidebarPanel(
selectInput("timePoint",
"Choose Time Point:",
list("time1" = 1,
"time2" = 2
)
)
),
mainPanel=mainPanel(
tabsetPanel(
tabPanel('Plot',
ggvis_output("myDotPlot")),
tabPanel('Table',
dataTableOutput("myDataTable"))
)
)
)
)
library(shiny)
library(ggvis)
# Create sample dataset
time1x <- rexp(500, 2)
time1y <- rexp(500, 1)
time1s <- abs(log2(time1x/time1y))
time2x <- rexp(500, .02)
time2y <- rexp(500, .01)
time2s <- abs(log2(time2x/time2y))
myDataTable <- data.frame( "time1x" = time1x
, "time1y" = time1y
, "time1s" = time1s
, "time2x" = time2x
, "time2y" = time2y
, "time2s" = time2s
)
# Define paster functions allowing an input integer to represent a d.f column
xFormat <- function(timePoint) { paste("time", timePoint, "x", sep = "") }
yFormat <- function(timePoint) { paste("time", timePoint, "y", sep = "") }
sFormat <- function(timePoint) { paste("time", timePoint, "s", sep = "") }
# Define server logic necessary to produce plot
shinyServer(function(input, output, session){
myDotPlot <- reactive({
ggvis(myDataTable, props( x = as.name(xFormat(input$timePoint))
, y = as.name(yFormat(input$timePoint))
, size = as.name(sFormat(input$timePoint))
)
) + mark_point()
})
output$myDataTable = renderDataTable({myDataTable})
observe_ggvis(myDotPlot, 'myDotPlot', session)
})
最佳答案
我得到一个错误:找不到函数“ggvis_output”,ui.R 的第 20 行应该是:
ggvisOutput("myDotPlot")),
observe_ggvis 语句也有问题。 server.R的第40行
关于r - 动态更新 ggvis Shiny 的用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23431408/
我已经搜索过了,所以如果我遗漏了什么,请原谅我。 让我们假设一个包含名称、日期、卡路里的数据框,其中卡路里是该人当天消耗的卡路里总数。 Name Date Calories Amy
我读过一篇similar post on SO ,但无法根据我的具体情况调整答案。我正在处理时间序列数据,并希望将两个不同的数据集合并到同一个图中。虽然我可以将数据合并到一个数据框中,但我真的很想了解
我曾经用 ggplot2 制作交互图,代码如下。现在我想用 ggvis 重现相同的情节,如下所示,它与 ggplto2 输出不同。如何使用 ggvis 获得相同的图? library(ggplot2)
我正在尝试使用 ggvis 中 ggplot2 中的数字复制热图。ggplot2版本是 library(ggplot2) hec % ggvis(~Hair, ~Eye, fill=~Freq)%>%
在ggvis中如何使图例垂直? mtcars %>% ggvis(x = ~wt, y = ~mpg, fill = ~cyl) %>% layer_points() %>% add_legend("
有没有办法在 ggvis 中将标签附加到堆叠条形图? 示例代码: plotData = data.frame(v1 = c("ABC", "ABC", "ABC", "XYX","XYX","X
我正在尝试更改 ggvis 中的刻度标签阴谋。我的数据点是 x = c(1,2,3)和 y = c(1,2,3) .但是,下面的代码会产生完全没有意义的刻度标签! library(dplyr) lib
我的 ggvis 图取决于几个输入字段,它们的工作方式类似于输入数据的过滤器。对于某些组合,结果数据框为空,ggvis 抛出错误并破坏整个应用程序。 我试着把 if(nrow(inputdatafra
我有一个 RStudio Shiny 服务器正在运行,我从 https://github.com/rstudio/ggvis 安装了 ggvis但我无法在服务器中重现任何演示示例。 当我在服务器(3.
ggvis 将根据我传递的因子列自动为我的绘图着色。所以如果我的因子列被命名为“区域”,我可以写这个,它会完美地执行。 names = c("Bacilli", "Actinobacteria", "
我正在从 Excel 迁移到 ggvis 进行数据分析。对于具有两个变量的典型分组条形图,但是我很难情节 条形图并排而不是堆叠 . 以下数据有四个步骤 A、B、C、D,其中“比率”数据来自两个特征 c
使用这个小数据集: df % ggvis(x=~variable, y=~value, fill=~colour) %>% group_by(colour) %>% layer_bars(
我是 R 的新手,因此不得不问你一个基本问题。 我有两个大型面板数据集(60 个变量,每个变量代表 30 个国家,范围从 1950 年到 2013 年)。 60个变量同名,数据可能不同也可能不同。 我
我正在尝试让交互式缩放在 ggvis 中工作,尤其是使用画笔进行缩放。从https://github.com/rstudio/ggvis/issues/143判断我认为这应该有效。 我有以下 Shin
我有多个带有多个段的路径。如何用相同的颜色为每条路径的第 N 段着色? 例如: require(dplyr) require(ggvis) df % group_by(group) %>% ggv
我正在尝试使用 ggvis 为 2014 赛季创建 NFL 赛程强度图表。数据来自 FootballOutsiders.com,稍后我将制作一个 Shiny 应用程序,当它在赛季期间更新时,它会自动从
我想为 ggvis 绘图添加标题。我在任何地方都找不到示例。处理其他 R 图很简单,例如 library(ggplot2) library(ggvis) x % ggvis(~x, ~y) %>% l
嗨,我对 ggvis 中的刻度有点困惑。我想做两件事:一是有一个对数刻度(相当于plot()中的log =“x”)。我也在寻找 xlim=c() 的等效项。在这两种情况下,下面的代码都没有给出预期的结
我正在尝试用 ggvis 制作一个箱线图,但我似乎无法查看一个简单的示例 library(dplyr) library(ggplot2) library(shiny) #I think this is
我正在尝试使用来自不同数据帧的数据在 ggvis 图中添加带有任意文本的图例。我试过使用 add_legend() 但我不知道要使用什么参数。使用 plot() 使用 legend() 函数非常简单,
我是一名优秀的程序员,十分优秀!