How to Customize the Modebar in Plotly Using R?
Last Updated :
23 Jul, 2025
Plotly is a library for creating interactive graphs and visualizations. The modebar provides tools for zooming, downloading, and resetting the graph. Customizing the modebar can improve usability and make visualizations more suited to your needs.
In this article, we'll explore how to customize the modebar in Plotly, focusing on the R programming language.
What is the Modebar?
The modebar is a set of buttons displayed on the top-right corner of a Plotly graph. It includes options like:
- Zoom: Allows users to zoom in and out of specific areas.
- Pan: Enables users to move the graph around.
- Reset: Resets the graph to its original view.
- Download: Lets users download the graph as a static image.
Why Customize the Modebar?
Customizing the modebar helps in:
- Simplifying the user interface: You can show only the tools relevant to your users.
- Improving user focus: Remove unnecessary buttons and emphasize specific actions.
- Branding: Adjust the look and feel of the plot to match your project's style.
Now we implement step by step to Customize the Modebar in R Programming Language.
Step 1: Install and Load Required Libraries
First, install and load the necessary libraries.
R
install.packages("plotly") # Skip this if already installed
library(plotly)
Step 2: Create a Basic Plot
Before customizing the modebar, create a basic plot.
R
# Create a scatter plot with random data
fig <- plot_ly(x = ~rnorm(100), y = ~rnorm(100), type = 'scatter', mode = 'markers')
# Display the plot
fig
Output:
Plot the Basic PlotStep 3: Remove Specific Modebar Buttons
Now remove the unwanted buttons from the modebar.
R
# Customize modebar by removing specific buttons
fig <- fig %>% config(modeBarButtonsToRemove = c('zoom2d', 'pan2d', 'resetScale2d'))
# Display the updated plot
fig
Output:
Remove the extra button Step 4: Add Custom Modebar Buttons
Now add a custom button with special functionality.
R
# Define a custom button with a reset functionality
custom_button <- list(
name = 'Custom Reset',
icon = list('height' = 20, 'width' = 20, 'path' = 'M 0 -15 L 10 -15 L 5 5 Z'), # Simple triangle icon
click = htmlwidgets::JS("function(gd) { Plotly.relayout(gd, 'xaxis.range', null); }")
)
# Add the custom button to the modebar
fig <- fig %>% config(modeBarButtons = list(list('zoomIn2d', 'zoomOut2d', custom_button)))
# Display the plot with the custom button
fig
Output:
Add the Custom ButtonStep 5: Hide the Modebar Entirely
Now hide the modebar completely.
R
# Hide the modebar completely
fig <- fig %>% config(displayModeBar = FALSE)
# Display the plot without the modebar
fig
Output:
Hide the modebarStep 6: Always Show the Modebar
By default, the modebar only appears when you hover over the plot.
R
# Always display the modebar
fig <- fig %>% config(displayModeBar = TRUE)
# Display the plot with the modebar always visible
fig
Output:
Show the modebar
Conclusion
Customizing the modebar in Plotly using R is a great way to enhance the user interface of your visualizations. Whether you need to simplify the toolset, add custom functionalities, or adjust the modebar’s visibility, Plotly provides flexible options. By following the steps outlined in this article, we can create more attractive and user-friendly graphs for our audience.