jupyter
jupytext
kernel_info
kernelspec
language_info
plotly
notebook_metadata_filter
text_representation
all
extension
format_name
format_version
jupytext_version
.md
markdown
1.1
1.1.1
display_name
language
name
Python 3
python
python3
codemirror_mode
file_extension
mimetype
name
nbconvert_exporter
pygments_lexer
version
.py
text/x-python
python
python
ipython3
3.6.8
description
display_as
language
layout
name
order
page_type
permalink
thumbnail
How to make carpet scatter plots in Python with Plotly.
scientific
python
base
Carpet Scatter Plot
15
u-guide
python/carpet-scatter/
thumbnail/scattercarpet.jpg
import plotly .graph_objects as go
fig = go .Figure (go .Carpet (
a = [4 , 4 , 4 , 4.5 , 4.5 , 4.5 , 5 , 5 , 5 , 6 , 6 , 6 ],
b = [1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 ],
y = [2 , 3.5 , 4 , 3 , 4.5 , 5 , 5.5 , 6.5 , 7.5 , 8 , 8.5 , 10 ],
aaxis = dict (
tickprefix = 'a = ' ,
ticksuffix = 'm' ,
smoothing = 1 ,
minorgridcount = 9
),
baxis = dict (
tickprefix = 'b = ' ,
ticksuffix = 'Pa' ,
smoothing = 1 ,
minorgridcount = 9
)
))
fig .show ()
import plotly .graph_objects as go
fig = go .Figure ()
fig .add_trace (go .Carpet (
a = [4 , 4 , 4 , 4.5 , 4.5 , 4.5 , 5 , 5 , 5 , 6 , 6 , 6 ],
b = [1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 ],
y = [2 , 3.5 , 4 , 3 , 4.5 , 5 , 5.5 , 6.5 , 7.5 , 8 , 8.5 , 10 ],
aaxis = dict (
tickprefix = 'a = ' ,
ticksuffix = 'm' ,
smoothing = 1 ,
minorgridcount = 9
),
baxis = dict (
tickprefix = 'b = ' ,
ticksuffix = 'Pa' ,
smoothing = 1 ,
minorgridcount = 9
)
))
fig .add_trace (go .Scattercarpet (
a = [4 , 4.5 , 5 , 6 ],
b = [2.5 , 2.5 , 2.5 , 2.5 ],
line = dict (
shape = 'spline' ,
smoothing = 1 ,
color = 'blue'
)
))
fig .show ()
Add Multiple Scatter Traces
import plotly .graph_objects as go
fig = go .Figure ()
fig .add_trace (go .Carpet (
a = [0.1 ,0.2 ,0.3 ],
b = [1 ,2 ,3 ],
y = [[1 ,2.2 ,3 ],[1.5 ,2.7 ,3.5 ],[1.7 ,2.9 ,3.7 ]],
cheaterslope = 1 ,
aaxis = dict (
title = "a" ,
tickmode = "linear" ,
dtick = 0.05
),
baxis = dict (
title = "b" ,
tickmode = "linear" ,
dtick = 0.05
)
))
fig .add_trace (go .Scattercarpet (
name = "b = 1.5" ,
a = [0.05 , 0.15 , 0.25 , 0.35 ],
b = [1.5 , 1.5 , 1.5 , 1.5 ]
))
fig .add_trace (go .Scattercarpet (
name = "b = 2" ,
a = [0.05 , 0.15 , 0.25 , 0.35 ],
b = [2 , 2 , 2 , 2 ]
))
fig .add_trace (go .Scattercarpet (
name = "b = 2.5" ,
a = [0.05 , 0.15 , 0.25 , 0.35 ],
b = [2.5 , 2.5 , 2.5 , 2.5 ]
))
fig .add_trace (go .Scattercarpet (
name = "a = 0.15" ,
a = [0.15 , 0.15 , 0.15 , 0.15 ],
b = [0.5 , 1.5 , 2.5 , 3.5 ],
line = dict (
smoothing = 1 ,
shape = "spline"
)
))
fig .add_trace (go .Scattercarpet (
name = "a = 0.2" ,
a = [0.2 , 0.2 , 0.2 , 0.2 ],
b = [0.5 , 1.5 , 2.5 , 3.5 ],
line = dict (
smoothing = 1 ,
shape = "spline"
),
marker = dict (
size = [10 , 20 , 30 , 40 ],
color = ["#000" , "#f00" , "#ff0" , "#fff" ]
)
))
fig .add_trace (go .Scattercarpet (
name = "a = 0.25" ,
a = [0.25 , 0.25 , 0.25 , 0.25 ],
b = [0.5 , 1.5 , 2.5 , 3.5 ],
line = dict (
smoothing = 1 ,
shape = "spline"
)
))
fig .update_layout (
title = "scattercarpet extrapolation, clipping, and smoothing" ,
hovermode = "closest"
)
fig .show ()
See https://plotly.com/python/reference/scattercarpet/ for more information and chart attribute options!