Размер и масштаб графика Plotly, встроенного в панель управления Shiny, будут меняться при максимизации экрана - PullRequest
1 голос
/ 13 марта 2019

Я интегрирую график в Shiny Dashboard. Однако размер и масштаб графика изменится на после увеличения экрана или перетаскивания пользовательского интерфейса на экран с другим разрешением.

Blow - скриншот графика, который я хочу:

enter image description here

Blow - скриншот графика после увеличения экрана:

enter image description here

Ниже мой код:

header <- dashboardHeader(
)

sidebar <- dashboardSidebar(

)

body <- dashboardBody(
  box(title = "Test",
      plotlyOutput("plot")
      )
)

ui <- dashboardPage(header, sidebar, body)

server <- function(input, output) {

  output$plot <- renderPlotly({
    plot_ly(x = b1image$CNT, y = b1image$Label, type = 'bar', orientation = 'h', 
            marker = list(color = viridis::viridis_pal(option = "C", direction =1)(max(b1image$Label) - min(b1image$Label) + 3)))  
  })
}

shinyApp(ui, server)

Данные, которые я использовал для построения графика, взяты из кадра данных с именем b1image.

Заранее спасибо.

1 Ответ

1 голос
/ 14 марта 2019

Может быть, это может помочь вам:

header <- dashboardHeader(
)

sidebar <- dashboardSidebar(

)

body <- dashboardBody(
  box(title = "Test", width = 10, height = "500px",
      plotlyOutput("plot",width = "400px", height = "400px")
  )
)

ui <- dashboardPage(header, sidebar, body)

server <- function(input, output) {

      output$plot <- renderPlotly({


server <- function(input, output) {

  output$plot <- renderPlotly({

    p <- plot_ly()
p <- add_trace(p, x=a, y=b, z=c, mode="markers", type="scatter3d", marker = list(size = 5, color = 'rgba(0, 0, 0, 1)'))
p <- layout(p, scene = list(xaxis = list(title = "A",range = c(-2,2)), yaxis = list(title = "B",range = c(-2,2)), zaxis = list(title = "C",range = c(-2,2))))
    p

      })
    }

shinyApp(ui, server)

      })
}

shinyApp(ui, server)


 box(title = "Test", width = 10, height = "500px",
      plotlyOutput("plot",width = "400px", height = "400px")
  )
  1. Определите ширину и высоту ящика
  2. Определите ширину и высоту вашего ploty

    p <- layout(p, scene = list(xaxis = list(title = "A",range = c(-2,2)), yaxis = list(title = "B",range = c(-2,2)), zaxis = list(title = "C",range = c(-2,2))))

  3. Определите свой диапазон графиков оси

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...