- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在看过 GGVIS 上的演讲后,我一直在尝试创建我的第一个 Shiny/ggvis 应用程序,但没有成功。我的情节在 R 中有效,但是当我尝试将其迁移到 Shiny 应用程序以在网络上显示时,我什么也没得到。单选按钮已显示,据我所知似乎正在工作(我使用 rStudio/Shiny/Reactivity 教程中的表格进行了测试,但它似乎与我的 ggvis 图不太匹配)。我一直在关注 Rstudio 上的教程并使用 ggvis 源代码中 demo 文件夹中的片段。我正在尝试创建一个简单的核密度图,该图根据用户输入对数据进行子集化并显示分布。附件是我迄今为止所拥有的可重现的示例。如果您能了解我在这里缺少的内容,我将不胜感激。
# clear memory & load packages
rm(list=ls())
library(shiny)
library(ggvis)
# Define UI for distribution application
shinyUI(fluidPage(
# Application title
titlePanel("Diamond Carats by Color/Cut"),
# Sidebar with controls to select subset
sidebarLayout(
sidebarPanel(
radioButtons("cut", "Diamond Cut:",
c("Ideal" = "IDEAL",
"Premium" = "IDEAL",
"Good" = "GOOD",
"Very Good" = "VGOOD"))
),
# Display your plot created by GGvis
mainPanel(ggvis_output("my_plot"))
)
))
<小时/>
# clear memory & load packages
rm(list=ls())
library(shiny)
library(ggvis)
# Define server logic for distribution application
shinyServer(function(input, output, session) {
# load your data
dataset <- diamonds
# Reactive expression to generate the subset.
datasetInput <- reactive({
selection <-switch(input$cut,
IDEAL = "Ideal",
PREM = "Premium",
GOOD = "Good",
VGOOD = "Very Good")
subset(dataset, cut == selection)
})
# Generate your plot using GGvis and your reactive inputs
gv <- reactive({
ggvis(datasetInput(), by_group(color),
props(x = ~carat,
stroke = ~color,
fill = ~color,
fillOpacity := 0.2,
fillOpacity.hover := 0.7)) +
layer_density()
})
# necessary additions for ggvis integration to shiny
output$controls <- renderControls(gv)
observe_ggvis(gv, "my_plot", session)
})
编辑:为了跟进这个问题,我注意到如果删除以下内容:
by_group(color)
和
stroke = ~color,
fill = ~color,
从我在 server.R 中创建图形的调用中,图形运行(尽管没有彩色分组,这正是我最初想要的)并且单选按钮成功选择了我的数据子集。如前所述,当我只是在 R 中运行图形时,在不使用 react 子集函数的情况下,图形能够运行并通过菱形颜色改变描边/填充。目前Shiny与ggvis交互中是否不支持此功能?或者我只是以某种方式误解了这个功能?这是我更新的代码,因此您可以看到我的结果:
# clear memory & load packages
rm(list=ls())
library(shiny)
library(ggvis)
# Define UI for distribution application
shinyUI(fluidPage(
# Application title
titlePanel("Diamond Carats by Color/Cut"),
# Sidebar with controls to select subset
sidebarLayout(
sidebarPanel(
radioButtons("cut", "Diamond Cut:",
c("Ideal" = "IDEAL",
"Premium" = "IDEAL",
"Good" = "GOOD",
"Very Good" = "VGOOD"))
),
# Display your plot created by GGvis
mainPanel(ggvis_output("my_plot"))
)
))
<小时/>
# clear memory & load packages
rm(list=ls())
library(shiny)
library(ggvis)
# Define server logic for distribution application
shinyServer(function(input, output, session) {
# load your data
dataset <- diamonds
# Reactive expression to generate the subset.
datasetInput <- reactive({
selection <-switch(input$cut,
IDEAL = "Ideal",
PREM = "Premium",
GOOD = "Good",
VGOOD = "Very Good")
subset(dataset, cut == selection)
})
# Generate your plot using GGvis and your reactive inputs
gv <- reactive({
ggvis(datasetInput(),
props(x = ~carat,
fillOpacity := 0.2,
fillOpacity.hover := 0.7)) +
layer_density()
})
# necessary additions for ggvis integration to shiny
output$controls <- renderControls(gv)
observe_ggvis(gv, "my_plot", session)
})
最佳答案
进一步搜索表明这是 ggvis 的一个已知错误:https://github.com/rstudio/ggvis/issues/71
关于r - Shiny/ggvis 对子集图数据的 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22312767/
我已经搜索过了,所以如果我遗漏了什么,请原谅我。 让我们假设一个包含名称、日期、卡路里的数据框,其中卡路里是该人当天消耗的卡路里总数。 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() 函数非常简单,
我是一名优秀的程序员,十分优秀!