I am trying to change the title of the colorbar in a plotly scatter plot.
Looking at the documentation, it seems this should be trivial. However, I've tried inserting colorbar = list(title = "Typing Rate")
into both the main plotly()
code, as well as piping it into layout()
, as below.
How can I customize this title?
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)
Try this:
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)
})
Update (with plotly_4.7.1
). It could also be done that way:
output$mainPlot <- renderPlotly({
plot_ly(data=filteredFull(), x=x, y=y,
color=Rate, size=Rate,
mode="markers") %>% colorbar(title = "Typing Rate")
})
I ended up here while looking for it in javaScript. I know OP asked for it in R; I am adding this answer for those who want to do the same in 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,
},
];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With