- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 renderPlotly
对于我 Shiny 的 ggplot 图。当我运行应用程序时,没有显示错误,但也没有渲染图。我的代码有问题吗?
这是我的数据集的示例
year region mean_price
<int> <fct> <dbl>
1 2007 Central 360769.
2 2007 East 255519.
3 2007 North 218453.
4 2007 North_East 263780.
5 2007 West 233401.
6 2008 Central 429607.
library("shiny")
library("shinythemes")
library('plotly')
ui <-fluidPage(
theme=shinytheme("superhero"),
titlePanel("Average Resale Prices "),
sidebarLayout(
sidebarPanel(
selectInput("year","Year", choices = c("All","2007","2008",
"2009","2010","2011",
"2012","2013","2014",
"2015","2016","2017"), selected="All"),
selectInput("region",'Region',choices=c("All",'North','Central','North-East','West','East'),selected="All"),
selectInput("type","Flat-Type",choices = c("All","3 ROOM",'4 ROOM',"5 ROOM"),selected = "All"),width = 2
),
mainPanel(
tabsetPanel(
tabPanel("Summary", plotOutput(outputId = "lineChart")),
tabPanel("Breakdown", plotOutput(outputId = "lineChart1")),
type="tab"
)
)
)
)
# Define server logic required to draw a line graph ----
server <- function(input, output, session){
#df1<-reactive({
#if(input$type =="All"){
# plotdata1%>%
#dplyr::filter(flat_type %in% c("3 ROOM","4 ROOM","5 ROOM"))
# }
# else{
# plotdata1%>%
# dplyr::filter(flat_type %in% input$type)
# }
# })
plotdata1<-data1 %>%
group_by(year, region) %>%
summarize(mean_price=mean(resale_price))
options(scipen = 100000)
output$lineChart <- renderPlotly({
ggplot(data=plotdata1,aes(x=year,y=mean_price))+
geom_line(stat = 'identity',aes(colour=region,group=region))+
geom_point()+
xlim(c(2006,2018))+
ylab("Average Price")+
xlab('Year')
})
}
# Create Shiny object
shinyApp(ui = ui, server = server)
最佳答案
正如刚才提到的
您需要使用 ggplotly
如果您打算使用 plotly
渲染你的图表。这也意味着您需要使用 plotlyOutput
在 ui
.
此外,请确保安装了您要使用的所有库。即使 shinythemes
我似乎也没有收到错误消息没有安装...虽然这不太可能。
下面的代码运行为我生成 plotly
图形。
library("shiny")
library("shinythemes")
library('plotly')
library("dplyr")
year <- c(2007,2007,2007,2007,2007,2008)
region <- c("central", "East", "North", "North_East", "West", "Central")
resale_price <- c(360769, 255519, 218453, 263780, 233401, 429607)
data1 <- data.frame(year,region,resale_price)
ui <-fluidPage(
theme=shinytheme("superhero"),
titlePanel("Average Resale Prices "),
sidebarLayout(
sidebarPanel(
selectInput("year","Year", choices = c("All","2007","2008",
"2009","2010","2011",
"2012","2013","2014",
"2015","2016","2017"), selected="All"),
selectInput("region",'Region',choices=c("All",'North','Central','North-East','West','East'),selected="All"),
selectInput("type","Flat-Type",choices = c("All","3 ROOM",'4 ROOM',"5 ROOM"),selected = "All"),width = 2
),
mainPanel(
tabsetPanel(
tabPanel("Summary", plotlyOutput("lineChart")),
type="tab"
))
)
)
# Define server logic required to draw a line graph ----
server <- function(input, output, session){
plotdata1<-data1 %>%
group_by(year, region) %>%
summarize(mean_price=mean(resale_price))
options(scipen = 100000)
output$lineChart <- renderPlotly({
p <- ggplot(data=plotdata1,aes(x=year,y=mean_price))+
geom_line(stat = 'identity',aes(colour=region,group=region))+
geom_point()+
xlim(c(2006,2018))+
ylab("Average Price")+
xlab('Year')
p <- ggplotly(p)
p
})
}
# Create Shiny object
shinyApp(ui = ui, server = server)
关于尽管没有任何错误,但 Renderplotly 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085342/
我正在尝试在 Shiny 中绘制自定义网格 grob 对象。 boxGrob 1) { for (i in 1:(nlabel - 1)) { # fill <- c("
我正在使用 renderPlotly对于我 Shiny 的 ggplot 图。当我运行应用程序时,没有显示错误,但也没有渲染图。我的代码有问题吗? 这是我的数据集的示例 year region
我有一个 Shiny 的应用程序,它使用响应式(Reactive)表达式来响应用户从下拉列表中选择一个值。 然后,所选的值将用作数据框的过滤条件。 如果我想创建两个不同的相同过滤数据框的图,我是否必须
问题我想动态更改渲染图的高度,这样如果它包含很多数据点,就会为绘图分配更多空间。然后应该简单地移动情节下方的内容。 renderPlot 的 height 参数可用于此目的,但随后绘图会溢出到下一个元
我正在尝试在一个选项卡中动态呈现多个图(最好是在多个选项卡中都可以这样做)。经过一番搜索,我发现这个post非常有用。但就我而言,地块数由上传的CSV文件确定。所以我认为问题是如何在for循环中调用p
我正在创建一个 Shiny 的应用程序,我想使用 brush功能。该应用程序目前看起来像: 在哪一个box()我收到错误 Error: argument 1 is not a vector .当用户对
我在 renderPlot(shiny) 函数中定义了“Time”。但是,我得到一个 Error: object 'Time' not found. 我想知道为什么我会收到这个错误已经为“时间”变量定
Use reactive expressions in renderPlot and download handler 我在 shiny 应用程序的 renderPlot() 和 downloadHa
我有一个 Shiny 的应用程序,带有两个 selectInputs(L1 和 L2),带有一个观察者,它使用 updateSelectInput 根据 L1 的选择更新 L2。我还有一个依赖于两个选
在 Shiny 的例子中http://shiny.rstudio.com/gallery/plot-plus-three-columns.html如果我们替换 server.R 中的代码部分 prin
在 Shiny 的例子中http://shiny.rstudio.com/gallery/plot-plus-three-columns.html如果我们替换 server.R 中的代码部分 prin
有什么方法可以根据 ggplot 列表中的绘图数量动态创建多个 renderPlot 函数? 我有一个 Shiny 应用程序,它没有稳定的 UI,也没有使用 renderUI,而是依靠用户提供的配置文
我想利用我的情节的高度 react 性,因为有时我只需要绘制一张图,有时需要绘制两到三张图。这是我的代码: output$myplot<-renderPlot({ plot_to_dr
我正在起草一个简单的 Shiny 应用程序,它提供对动态图表和相应表格的访问。 server.R 代码的相关部分如下所示: output$some_plot>>) # Define the d
我正在尝试使用 R Markdown 下载报告表单 shiny 应用程序,但我迷路了!我需要将 Shiny 的绘图作为参数传递给 R Markdown,然后将此绘图包含在我的报告中。我对此进行了很多搜
我试图弄清楚如何使 Shiny R 包中的 renderPlot 函数中的“高度”变量从 renderPlot() 内部接收一个变量。这是我在 server.R 中的代码: shinyServer(f
我注意到当背景为非白色时,sf::geom_sf() 对象周围出现意想不到的白框,这些对象显示在 Shiny 的 UI 中的 renderPlot() 中。 对于 Shiny 中的其他 geom_ 对
这个问题很简单。首先,我在渲染图中尝试了一个 if-else 条件。有点像 if (input$Next > 0) { plot(...) } else { return() } 这没有用
这个问题很简单。首先,我在渲染图中尝试了一个 if-else 条件。有点像 if (input$Next > 0) { plot(...) } else { return() } 这没有用
考虑以下 rmarkdown html_notebook 示例: --- output: html_notebook runtime: shiny --- ```{r} library(ggplot2
我是一名优秀的程序员,十分优秀!