将 ggplot 气泡图导入 Shiny 时出错
Posted
技术标签:
【中文标题】将 ggplot 气泡图导入 Shiny 时出错【英文标题】:Error when importing ggplot bubble chart into Shiny 【发布时间】:2015-07-31 23:04:28 【问题描述】:我在使用 Shiny 和 ggplot 时遇到了一些问题
当我运行以下代码以在 Shiny 中生成气泡图时,我收到以下错误消息:
“$<-.data.frame
(*tmp*
, "value", value = numeric(0)) 中的错误:
替换有 0 行,数据有 3"
但是当我在外面运行它时很好
有什么想法吗?
谢谢
library(shiny)
library(ggplot2)
gtest = data.frame(cbind(sort(rep(c(1:3),5)),rep(c(1:5),3),sample(-8:8, 15)/10))
# Define a server for the Shiny app
server <- function(input, output)
g3 <- reactive(
g2 <- gtest[gtest[2]==input$article,]
g2 <-g2[order(g2[3],decreasing = TRUE), ]
g2 <- rbind(g2[g2[1]==input$article,], g2[!g2[1]==input$article,])
angl <-seq(0, 360, length.out =(nrow(g2)))
angl <-angl[1:(length(angl)-1)]
g2[3] <-(max(g2[3])-min(g2[3]))*.3+(max(g2[3])-g2[3])
x<-c(0,g2[2:nrow(g2),3]*cos(angl%*%(pi/180)))
y<-c(0,g2[2:nrow(g2),3]*round(sin((pi/180)*angl),2))
g2<-cbind(g2,x,y)
colnames(g2) <- c("col1","col2","value","x","y")
g2
)
# Fill in the spot we created for a plot
output$g3plot = renderPlot(
p<-ggplot(g3(),aes(x,y,label= col1))+
geom_point(colour="white", fill="red", shape=21, size = 20)+
geom_text(size=5)+
theme_bw()
print(p)
)
#runApp("R/Test_shiny")
# Define the overall UI
ui <- fluidPage(
titlePanel("Articles by similarities"),
sidebarLayout(
sidebarPanel(
selectInput("article", "Article:", choice=unique(gtest[2]))), hr()),
mainPanel(
plotOutput("g3plot")
)
)
shinyApp(ui = ui, server = server)
【问题讨论】:
【参考方案1】:代码似乎从我这边运行:
我因此修改了以下行:
x<-c(0,g2[2:nrow(g2),3]*cos(angl*(pi/180)))
问候
【讨论】:
以上是关于将 ggplot 气泡图导入 Shiny 时出错的主要内容,如果未能解决你的问题,请参考以下文章
R Shiny:交互式输入从 rds 文件进入 ggplot 时出错(评估中的错误:找不到对象'x')
Shiny 和 ggplot - 同时使用 scale_x_ 和 scale_y_continuous 时出错