Ich versuche, einen Kreis auf eine viewport
zu zeichnen, aber die einzige Ausgabe, die ich bekomme, ist Text. Mein ultimatives Ziel wäre es, einen Kreis auf einem Grundstück zu zeichnen. Dies ist mein Code:R (Glänzend) grid.circle und Ansichtsfensterausgabe nur Text
library(reshape)
library(grid)
ui <- fluidPage(
titlePanel("The Bomb Problem"),
fluidRow(
column(2, numericInput("numberOfPoints", "Number Of Points:", 0)),
column(2, numericInput("radius", "Radius:", 0.5, min = 0, max = 1)),
column(2, actionButton("btnRun", "Run"))
),
mainPanel(
vp <- viewport(x=0.5,y=0.5,width=0.9, height=0.9),
pushViewport(vp),
plotOutput(outputId = "points", width = "100%"),
grid.circle(x=0.6, y=0.4, r=0.3, draw = TRUE)
)
)
server <- function(input, output) {
observeEvent(input$btnRun, {
x<-sample(0:input$numberOfPoints, input$numberOfPoints, rep=TRUE)
y<-sample(0:input$numberOfPoints, input$numberOfPoints, rep=TRUE)
output$points <- renderPlot(plot(x, y), height = 800, width = 800)
df <- melt(data.frame(x,y))
})
}
shinyApp(ui, server)
Aber der einzige Ausgang ich erhalte, ist:
0.5npc 0.5npc 0.9npc 0.9npc centre FALSE 0 0 0 0.5 GRID.VP.13
0.6npc 0.4npc 0.3npc GRID.circle.10
Mit anderen Worten, die grid.circle
und viewport
sind keine Objekte zeichnen, sie ihre Eigenschaften nur ausgegeben.