Carpet Scatter Plot in JavaScript
How to make D3.js-based carpet scatter plots in Plotly.js.
Plotly Studio: Transform any dataset into an interactive data application in minutes with AI. Sign up for early access now.
var trace1 = {
type: 'carpet',
a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6),
b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6),
y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],
aaxis: {
tickprefix: 'a = ',
ticksuffix: 'm',
smoothing: 1,
minorgridcount: 9,
},
baxis: {
tickprefix: 'b = ',
ticksuffix: 'Pa',
smoothing: 1,
minorgridcount: 9,
}
}
var data = [trace1]
Plotly.newPlot('myDiv', data)
var trace1 = {
type: 'carpet',
a: [4, 4, 4, 4.5, 4.5, 4.5, 5, 5, 5, 6, 6, 6].map(a => a * 1e-6),
b: [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3].map(b => b * 1e6),
y: [2, 3.5, 4, 3, 4.5, 5, 5.5, 6.5, 7.5, 8, 8.5, 10],
aaxis: {
tickprefix: 'a = ',
ticksuffix: 'm',
smoothing: 1,
minorgridcount: 9,
},
baxis: {
tickprefix: 'b = ',
ticksuffix: 'Pa',
smoothing: 1,
minorgridcount: 9,
}
}
var trace2 = {
type: 'scattercarpet',
a: [4, 4.5, 5, 6].map(a => a * 1e-6),
b: [1.5, 2.5, 1.5, 2.5].map(b => b * 1e6),
line: {shape: 'spline', smoothing: 1}
}
var data = [trace1,trace2]
Plotly.newPlot('myDiv', data)
var trace1 = {
type: "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: {
title: {
text: "a"
},
tickmode: "linear",
dtick: 0.05,
minorgridcount: 9
},
baxis: {
title: {
text: "b"
},
tickmode: "linear",
dtick: 0.5,
minorgridcount: 9
}
}
var trace2 = {
type: "scattercarpet",
name: "b = 1.5",
a: [0.05, 0.15, 0.25, 0.35],
b: [1.5, 1.5, 1.5, 1.5]
}
var trace3 = {
type: "scattercarpet",
name: "b = 2",
a: [0.05, 0.15, 0.25, 0.35],
b: [2, 2, 2, 2]
}
var trace4 = {
type: "scattercarpet",
name: "b = 2.5",
a: [0.05, 0.15, 0.25, 0.35],
b: [2.5, 2.5, 2.5, 2.5]
}
var trace5 = {
type: "scattercarpet",
name: "a = 0.15",
a: [0.15, 0.15, 0.15, 0.15],
b: [0.5, 1.5, 2.5, 3.5],
line: {
smoothing: 1,
shape: "spline"
}
}
var trace6 = {
type: "scattercarpet",
name: "a = 0.2",
a: [0.2, 0.2, 0.2, 0.2],
b: [0.5, 1.5, 2.5, 3.5],
line: {
smoothing: 1,
shape: "spline"
},
marker: {
size: [10, 20, 30, 40],
color: ["#000", "#f00", "#ff0", "#fff"]
}
}
var trace7 = {
type: "scattercarpet",
name: "a = 0.25",
a: [0.25, 0.25, 0.25, 0.25],
b: [0.5, 1.5, 2.5, 3.5],
line: {
smoothing: 1,
shape: "spline"
}
}
var data = [trace1,trace2,trace3,trace4,trace5,trace6,trace7]
var layout = {
title: {
text: "scattercarpet extrapolation, clipping, and smoothing"
},
hovermode: "closest"
}
Plotly.newPlot('myDiv', data, layout)
