据我所知,ggvis运行在闪亮之上.但我无法弄清楚如何导出在没有R /闪亮的网络服务器上运行单个ggvis图表所需的所有文件.
我正在努力学习如何使用ggvis.基本上,我想重现这个ggplot2图:
library(ggplot2)
m <- ggplot(mtcars, aes(x = wt))
m + geom_density(aes(fill="orange"), size=2, alpha=.9) + xlim(0,5) + theme_bw() +
xlab("x label") + guides(fill=FALSE)
Run Code Online (Sandbox Code Playgroud)
现在我有这个:
mtcars %>% ggvis(~wt, fill := "red") %>%
layer_densities() %>%
add_axis("x", title = "Weight") %>%
scale_numeric("x", domain = c(0, 5), nice = FALSE)
Run Code Online (Sandbox Code Playgroud)
但我不知道怎么做xlim(0,5)
谢谢您的帮助!
我正在尝试创建一个闪亮的应用程序,允许用户选择某些组来绘制ggvis图.我遇到的问题是,如果我将反应数据映射到点的属性(如点填充,形状等),则每次用户更新组时,比例都会重置.因此,组标识到填充颜色的映射不会保持不变.我尝试通过硬编码组ID来修复此问题以填充反应元素中的颜色,但是当应用程序开始加载时,我开始难以解释错误.
这是我第一次尝试的代码:
#ui.R
library(shiny)
library(ggvis)
shinyUI(fluidPage(
# Application title
titlePanel("Old Faithful Geyser Data"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
checkboxGroupInput("gear", label = "Gears", choices = c("3","4","5"))
),
# Show a plot of the generated distribution
mainPanel(
uiOutput("ggvis_ui"),
ggvisOutput("ggvis"),
textOutput("jawn"))
)
))
Run Code Online (Sandbox Code Playgroud)
#server.R
library(shiny)
library(ggvis)
library(dplyr)
shinyServer(function(input, output) {
selected <- reactive(input$gear)
selectedData <- reactive({
mtcars %>%
filter(gear %in% selected())%>%
mutate(gear = as.character(gear))
})
colorRange <- reactive({
c(`3` = "red", `4` = "blue", …Run Code Online (Sandbox Code Playgroud) 我想知道我是否可以在.Rnw中使用ggvis和knitr.我尝试了下面的代码RStudio Version 0.98.1091.但它没有用.
\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{geometry}
\geometry{verbose,tmargin=2cm,bmargin=2cm,lmargin=2cm,rmargin=2cm}
\begin{document}
\chapter{Test}
\begin{figure}[H]
<< label = Plot1, fig.lp = "Plot1", fig.cap = "Test Plot" >>=
library(ggvis)
p <- mtcars %>% ggvis(x = ~wt, y = ~mpg) %>% layer_points()
print(p) # Commenting this line will compile the document
@
\end{figure}
\end{document}
Run Code Online (Sandbox Code Playgroud)
它会引发以下错误:
LaTeX errors:
! Missing $ inserted.
<inserted text>
$
l.70 \end{kframe}<!--html_
preserve--><div id="plot_id298740869-container" cl...
! Please use \mathaccent for accents in math mode.
Run Code Online (Sandbox Code Playgroud)
任何帮助将受到高度赞赏.谢谢
编辑
注释该行将print(p) …
我想我错过了ggvis + shiny的一些基本方面.
在教程之后,使用一系列%>%管道在server.R中构建绘图,以bind_shiny结尾,该绘图将绘图与可在ui.R中引用的标识符相关联.
我没有得到的是,绘图本身并不像renderTable(),renderText()或reactive()中的代码那样具有反应性.因此,如果我想在定义绘图时引用输入参数(如输入$ x),它将无法正常工作,我将收到错误消息"Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)".
例如,如果'input'是shinyServer函数的输入参数,我可能会有一个如下的图:
dataframe %>% ggvis(~ aval, ~ bval) %>% layer_points %>% layer_paths(x = ~xv, y = ~ yv, data = data.frame(xv = c(0, 0), yv = c(0, input$maxValParam)))
Run Code Online (Sandbox Code Playgroud)
其中layeR_points用于绘制数据框中的数据,而layer_paths用于绘制直到maxValParam值的垂直线.
我正在尝试使用ggvis作为我的日常报告.我遇到的一个问题是,对于我打算在数据顺序中绘制x轴的数据集.但是,实际绘图以字母顺序显示.
是否有任何隐藏参数可以更改R中条形图的x轴顺序?
Step LER
Pre 3.2
DS 2.8
SiARC 2.2
OPL 1.9
ILD 1.6
Oxide 1.5
library(ggvis)
ler <- read.csv("shinyapps/EUV/data/by_step_LER.csv")
ler %>% ggvis(x = ~Step, y = ~LER) %>% layer_bars()
Run Code Online (Sandbox Code Playgroud) 我以前用交互绘图,ggplot2代码如下.现在我想重现相同的情节,ggvis如下所示,与ggplto2输出不同.如果有人指出我用`ggvis获得相同的情节,我将非常感激.提前致谢.
library(ggplot2)
p <- qplot(as.factor(dose), len, data=ToothGrowth, geom = "boxplot", color = supp) + theme_bw()
p <- p + labs(x="Dose", y="Response")
p <- p + stat_summary(fun.y = mean, geom = "point", color = "blue", aes(group=supp))
p <- p + stat_summary(fun.y = mean, geom = "line", aes(group = supp))
p <- p + theme(axis.title.x = element_text(size = 12, hjust = 0.54, vjust = 0))
p <- p + theme(axis.title.y = element_text(size = 12, angle = …Run Code Online (Sandbox Code Playgroud) 这很简单,但我无法找到解决方案.如何在以ggvis为单位的layers_lines中创建一行.我正在处理自定义类型的线性回归,我为我的问题提供了这个玩具示例:
library(ggvis)
W=seq(0,10,0.1)
data=data.frame(fit=3+2*W,upper=4+2*W,lower=2+2*W)
base <- data %>% ggvis(x= ~fit,y= ~W)%>%layer_lines() %>%
layer_lines(x= ~lower,y= ~W)%>%layer_lines(x= ~upper,y= ~W)
Run Code Online (Sandbox Code Playgroud)
这会产生这个图像:

我希望上面和下面的线是虚线.非常感谢你的帮助!
我没有发现任何与我的问题和关键字一致的内容.我无法将ggvis图表限制在他们给定的shinydashboard区域.示例应用程序(Windows 7)显示三个ggvis图,每个图超过其各自仪表板框和列的右边框 - 除非窗口非常宽.
思考?
library(shiny)
library(shinydashboard)
library(ggvis)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
dashboardSidebar(),
dashboardBody(
# Boxes need to be put in a row (or column)
fluidRow(
box(
width = 4,
title = "fred",
ggvisOutput("plot1")
),
box(
width = 4,
title = "george",
ggvisOutput("plot2")
),
box(
width = 4,
title = "harold",
ggvisOutput("plot3")
)
)
)
)
server <- function(input, output) {
mtcars %>%
ggvis(~wt, ~mpg) %>%
layer_points() %>%
bind_shiny("plot1")
mtcars %>%
ggvis(~cyl, ~mpg) %>%
layer_points() %>%
bind_shiny("plot2") …Run Code Online (Sandbox Code Playgroud)