Skip to main content

Plotly Express Cheat Sheet

Plotly is one of the most widely used data visualization packages in Python. Learn more about it in this cheat sheet.
Nov 2022  · 0 min read

What is plotly?

Plotly express is a high-level data visualization package that allows you to create interactive plots with very little code. It is built on top of Plotly Graph Objects, which provides a lower-level interface for developing custom visualizations. This cheat sheet covers all you need to know to get started with plotly in Python.
 

Plotly Cheat Sheet.png

Have this cheat sheet at your fingertips

Download PDF

Interactive controls in Plotly

Plotly plots have interactive controls shown in the top-right of the plot. The controls allow you to do the following:

  • Pan: Move around in the plot.
  • Box Select: Select a rectangular region of the plot to be highlighted.
  • Lasso Select: Draw a region of the plot to be highlighted.
  • Autoscale: Zoom to a "best" scale.
  • Reset axes: Return the plot to its original state.
  • Toggle Spike Lines: Show or hide lines to the axes whenever you hover over data.
  • Show closest data on hover: Show details for the nearest data point to the cursor.
  • Compare data on hover: Show the nearest data point to the x-coordinate of the cursor.

Plotly Express code pattern

The code pattern for creating plots is to call the plotting function, passing a data frame as the first argument. The x argument is a string naming the column to be used on the x-axis. The y argument can either be a string or a list of strings naming column(s) to be used on the y-axis.

px.plotting_fn(dataframe, # Dataframe being visualized
               x=["column-for-x-axis"], # Accepts a string or a list of strings
               y=["columns-for-y-axis"], # Accepts a string or a list of strings

               title="Overall plot title", # Accepts a string
               xaxis_title="X-axis title", # Accepts a string
               yaxis_title="Y-axis title", # Accepts a string
               width=width_in_pixels, # Accepts an integer
               height=height_in_pixels) # Accepts an integer

Common plot types

# First import plotly express as px
import plotly.express as px

Scatter plots

# Create a scatterplot on a DataFrame named clinical_data

px.scatter(clinical_data, x="experiment_1", y="experiment_2")

Set the size argument to the name of a numeric column to control the size of the points and create a bubble plot.

Line plots

# Create a lineplot on a DataFramed named stock_data
px.line(stock_data, x="date", y=["FB", "AMZN"])

Set the line_dash argument to the name of a categorical column to have dashes or dots for different lines.

Bar plots

# Create a barplot on a DataFramed named commodity_data
px.bar(commodity_data, x="nation", y=["gold", "silver", "bronze"],
       color_discrete_map={"gold": "yellow", 

                           "silver": "grey",
                           "bronze": "brown"})

Swap the x and y arguments to draw horizontal bars.

Histograms

# Create a histogram on a DataFramed named bill_data
px.histogram(bill_data, x="total_bill")

Set the nbins argument to control the number of bins shown in the histogram.

Heatmaps

# Create a heatmap on a DataFramed named iris_data
px.imshow(iris_data.corr(numeric_only=True),
zmin=-1, zmax=1, color_continuous_scale='rdbu')

Set the text_auto argument to True to display text values for each cell.

Customizing plots in plotly

The code pattern for customizing a plot is to save the figure object returned from the plotting function, call its .update_traces() method, then call its .show() method to display it.

# Create a plot with plotly (can be of any type)
fig = px.some_plotting_function()

# Customize and show it with .update_traces() and .show()
fig.update_traces()
fig.show()

Customizing markers in Plotly

When working with visualizations like scatter plots, lineplots, and more, you can customize markers according to certain properties. These include:

  • size: set the marker size
  • color: set the marker color
  • opacity: set the marker transparency
  • line: set the width and color of a border
  • symbol: set the shape of the marker
# In this example, we’re updating a scatter plot named fig_sct
fig_sct.update_traces(marker={ "size" : 24,
                           "color": "magenta",
                           "opacity": 0.5,
                           "line": {"width": 2, "color": "cyan"},
                           "symbol": "square"})
fig_sct.show()

Customizing lines in Plotly

When working with visualizations that contain lines, you can customize them according to certain properties. These include:

  • color: set the line color
  • dash: set the dash style ("solid", "dot", "dash", "longdash", "dashdot", "longdashdot")
  • shape: set how values are connected ("linear", "spline", "hv", "vh", "hvh","vhv")
  • width: set the line width
# In this example, we’re updating a scatter plot named fig_ln

fig_ln.update_traces(patch={"line": {"dash": "dot",
                           "shape": "spline",
                           "width": 6}})
fig_ln.show()

Customizing bars in Plotly

When working with barplots and histograms, you can update the bars themselves according to the following properties:

  • size: set the marker size
  • color: set the marker color
  • opacity: set the marker transparency
  • line: set the width and color of a border
  • symbol: set the shape of the marker
# In this example, we’re updating a scatter plot named fig_bar
fig_bar.update_traces(marker={"color": "magenta",
                              "opacity": 0.5,
                              "line": {"width": 2, "color": "cyan"}})
fig_bar.show()

# In this example, we’re updating a histogram named fig_hst
fig_hst.update_traces(marker={"color": "magenta", 
                              "opacity": 0.5,
                              "line": {"width": 2, "color": "cyan"}})
fig_hst.show()

Have this cheat sheet at your fingertips

Download PDF
Related

The 23 Top Python Interview Questions & Answers

Essential Python interview questions with examples for job seekers, final-year students, and data professionals.
Abid Ali Awan's photo

Abid Ali Awan

22 min

Working with Dates and Times in Python Cheat Sheet

Working with dates and times is essential when manipulating data in Python. Learn the basics of working with datetime data in this cheat sheet.
DataCamp Team's photo

DataCamp Team

Getting started with Python cheat sheet

Python is the most popular programming language in data science. Use this cheat sheet to jumpstart your Python learning journey.
DataCamp Team's photo

DataCamp Team

8 min

Python pandas tutorial: The ultimate guide for beginners

Are you ready to begin your pandas journey? Here’s a step-by-step guide on how to get started. [Updated November 2022]
Vidhi Chugh's photo

Vidhi Chugh

15 min

Python Iterators and Generators Tutorial

Explore the difference between Python Iterators and Generators and learn which are the best to use in various situations.
Kurtis Pykes 's photo

Kurtis Pykes

10 min

How to Make a Gantt Chart in Python with Matplotlib

Learn how to make a Gantt chart in Python with matplotlib and why such visualizations are useful.
Elena Kosourova 's photo

Elena Kosourova

17 min

See MoreSee More