2016-05-17 298 views
0

我试图在阴谋散点图中更改颜色条的标题。更改Plotly Colorbar标题

看着文档,似乎这应该是微不足道的。不过,我已经尝试将colorbar = list(title = "Typing Rate")插入主代码plotly(),并将其管道编号为layout(),如下所示。

我该如何定制这个标题?

library(dplyr) 
library(shiny) 
library(plotly) 

df <- as.data.frame(list("UserID"=c(1,1,1,1,2,2,2,2), 
          "Category"=c('A','A','B','B','A','A','B','B'), 
          "Rate"=c(2,3,5,6,8,6,7,1), 
          "x"=c(1,3,5,7,2,4,6,8), 
          "y"=c(1,3,5,7,2,4,6,8) 
        )) 

ui <- (fluidPage(
    sidebarLayout(
    sidebarPanel(
     selectInput("userInput","Select User", sort(unique(df$UserID)), 
        selected=1), 
     checkboxGroupInput("CategoryInput", "Select Category", sort(unique(df$Category)), 
         selected=c('A','B')) 
    ), 

    mainPanel(
     plotlyOutput("mainPlot")#, 
    ) 
) 
)) 

server <- function(input, output, session) { 

    # filter for both user and category 
    filteredFull <- reactive({ 
     df %>% 
     filter(
      UserID == input$userInput, 
      Category %in% input$CategoryInput 
     ) 
    }) 

    output$mainPlot <- renderPlotly({ 
     plot_ly(data=filteredFull(), x=x, y=y, 
         color=Rate, size=Rate, 
         mode='markers') %>% 
     layout(
     colorbar = list(title = "Typing Rate") 
    ) 
    }) 
} 

shinyApp(ui, server) 

回答

2

试试这个:

output$mainPlot <- renderPlotly({  
    m <- list(
    colorbar = list(title = "Typing Rate") 
) 
     plot_ly(data=filteredFull(), x=x, y=y, 
         color=Rate, size=Rate, 
         mode="markers", marker=m) 
    }) 
+0

哇,这样的作品!任何想法为什么?假设它看起来应该和放在'plot_ly()'中一样 –

0

我在这里结束了,而在JavaScript中寻找它。我知道OP在R中要求它;我为那些想在JS中做同样的事情添加这个答案。

var plotData8kW = [{ 
     z: data8kW, 
     hoverinfo:"z", 
     colorbar:{ 
      // len: 0.35, //Change size of bar 
      title: 'Speed(RPM)<br\><br\>', //set title 
      titleside:'top', //set postion 
      //tickvals:[0,50,100], 
      titlefont: {color: 'blue'} //title font color 
      }, 
     type: 'heatmap', 
     colorscale: enhancedScale, 
     }, 
];