Open In App

3D bubble plot in R

Last Updated : 20 Mar, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

In this article, we will discuss how to create a 3D bubble plot in the R Language.

A bubble chart is primarily used to depict and show relationships between numeric variables. It can show a relationship better than a scatter plot because it has an extra dimension size that helps us in analyzing one more aspect of data thus making it multi-dimensional analysis. 

Install  - install.packages("Plotly")

 The plot_ly() function creates a 3D scatter plot but by adding size dimension to it. 

Syntax:

plot_ly(df, x, y, z, color, size)

where,

  • df: determines the data frame to be used.
  • x,y, and z: determine the x-axis, y-axis, and z-axis variables respectively.
  • color: determines the categorical variable according to which bubbles are to be colored.
  1. size: determines the categorical variable according to which bubbles are to be sized.

Example 1:

Here, is a basic 3D bubble plot. The CSV file used in the example can be downloaded here.

R
# load library Plotly and tidyverse
library(plotly)
library(tidyverse)

# read csv file into dataframe
df <- read.csv("df.csv")

# plot 3d bubble plot
plot_ly(df, x = ~pop, y = ~gdpPercap, z = ~lifeExp, size = ~size )

Output:

Example 2:

Here, is a basic 3D bubble plot colored by a categorical variable using the color parameter of plot_ly() function. R

# load library Plotly and tidyverse
library(plotly)
library(tidyverse)

# read csv file into dataframe
df <- read.csv("df.csv")

# plot 3d bubble plot
# color plot by continent column using color parameter
plot_ly(df, x = ~pop, y = ~gdpPercap, z = ~lifeExp, size = ~size, color=~continent )

Output:

Customization of 3D plot

We can customize this 3D plot using various parameters of the layout function of the plot. We can use paper_bgcolor, plot_bgcolor, and title parameter to change the color of the surrounding of the plot, background color of plot, and the title of the plot respectively.

Syntax:

plot%>%layout( title, paper_bgcolor, plot_bgcolor)

where,

  • title: determines the title of the plot.
  • paper_bgcolor: determines the color of the surrounding of the plot.
  • plot_bgcolor: determines the color of the background of the plot.

Example 1:

Here is a completely customized 3D bubble plot. R

# load library Plotly and tidyverse
library(plotly)
library(tidyverse)

# read csv file into dataframe
df <- read.csv("df.csv")

# plot 3d bubble plot
# color plot by continent column using 
# color parameter
plot<-plot_ly(df, x = ~pop, y = ~gdpPercap, z = ~lifeExp, 
              size = ~size, color=~continent)

# layout customization is used to customize plot
plot%>% layout( title = 'Geeksforgeeks example',
               paper_bgcolor = 'gray')

Output:


Next Article

Similar Reads