diff --git a/src/traces/carpet/attributes.js b/src/traces/carpet/attributes.js
index d3fa8ce85b1..9f29e062aa4 100644
--- a/src/traces/carpet/attributes.js
+++ b/src/traces/carpet/attributes.js
@@ -28,7 +28,7 @@ module.exports = {
editType: 'calc',
description: [
'An identifier for this carpet, so that `scattercarpet` and',
- '`scattercontour` traces can specify a carpet plot on which',
+ '`contourcarpet` traces can specify a carpet plot on which',
'they lie'
].join(' ')
},
diff --git a/src/traces/carpet/index.js b/src/traces/carpet/index.js
index 9b078ac791f..9038fec2ced 100644
--- a/src/traces/carpet/index.js
+++ b/src/traces/carpet/index.js
@@ -19,7 +19,7 @@ module.exports = {
moduleType: 'trace',
name: 'carpet',
basePlotModule: require('../../plots/cartesian'),
- categories: ['cartesian', 'svg', 'carpet', 'carpetAxis', 'notLegendIsolatable', 'noMultiCategory'],
+ categories: ['cartesian', 'svg', 'carpet', 'carpetAxis', 'notLegendIsolatable', 'noMultiCategory', 'noHover'],
meta: {
description: [
'The data describing carpet axis layout is set in `y` and (optionally)',
diff --git a/src/traces/contour/close_boundaries.js b/src/traces/contour/close_boundaries.js
index 4a3b83fa2d6..601d8c24ad2 100644
--- a/src/traces/contour/close_boundaries.js
+++ b/src/traces/contour/close_boundaries.js
@@ -8,57 +8,80 @@
'use strict';
-module.exports = function(pathinfo, operation, perimeter, trace) {
- // Abandon all hope, ye who enter here.
- var i, v1, v2;
+module.exports = function(pathinfo, contours) {
var pi0 = pathinfo[0];
- var na = pi0.x.length;
- var nb = pi0.y.length;
var z = pi0.z;
- var contours = trace.contours;
+ var i;
- var boundaryMax = -Infinity;
- var boundaryMin = Infinity;
+ switch(contours.type) {
+ case 'levels':
+ // Why (just) use z[0][0] and z[0][1]?
+ //
+ // N.B. using boundaryMin instead of edgeVal2 here makes the
+ // `contour_scatter` mock fail
+ var edgeVal2 = Math.min(z[0][0], z[0][1]);
- for(i = 0; i < nb; i++) {
- boundaryMin = Math.min(boundaryMin, z[i][0]);
- boundaryMin = Math.min(boundaryMin, z[i][na - 1]);
- boundaryMax = Math.max(boundaryMax, z[i][0]);
- boundaryMax = Math.max(boundaryMax, z[i][na - 1]);
- }
+ for(i = 0; i < pathinfo.length; i++) {
+ var pi = pathinfo[i];
+ pi.prefixBoundary = !pi.edgepaths.length &&
+ (edgeVal2 > pi.level || pi.starts.length && edgeVal2 === pi.level);
+ }
+ break;
+ case 'constraint':
+ // after convertToConstraints, pathinfo has length=0
+ pi0.prefixBoundary = false;
- for(i = 1; i < na - 1; i++) {
- boundaryMin = Math.min(boundaryMin, z[0][i]);
- boundaryMin = Math.min(boundaryMin, z[nb - 1][i]);
- boundaryMax = Math.max(boundaryMax, z[0][i]);
- boundaryMax = Math.max(boundaryMax, z[nb - 1][i]);
- }
+ // joinAllPaths does enough already when edgepaths are present
+ if(pi0.edgepaths.length) return;
- pi0.prefixBoundary = false;
+ var na = pi0.x.length;
+ var nb = pi0.y.length;
+ var boundaryMax = -Infinity;
+ var boundaryMin = Infinity;
- switch(operation) {
- case '>':
- if(contours.value > boundaryMax) {
- pi0.prefixBoundary = true;
- }
- break;
- case '<':
- if(contours.value < boundaryMin) {
- pi0.prefixBoundary = true;
+ for(i = 0; i < nb; i++) {
+ boundaryMin = Math.min(boundaryMin, z[i][0]);
+ boundaryMin = Math.min(boundaryMin, z[i][na - 1]);
+ boundaryMax = Math.max(boundaryMax, z[i][0]);
+ boundaryMax = Math.max(boundaryMax, z[i][na - 1]);
}
- break;
- case '[]':
- v1 = Math.min.apply(null, contours.value);
- v2 = Math.max.apply(null, contours.value);
- if(v2 < boundaryMin || v1 > boundaryMax) {
- pi0.prefixBoundary = true;
+ for(i = 1; i < na - 1; i++) {
+ boundaryMin = Math.min(boundaryMin, z[0][i]);
+ boundaryMin = Math.min(boundaryMin, z[nb - 1][i]);
+ boundaryMax = Math.max(boundaryMax, z[0][i]);
+ boundaryMax = Math.max(boundaryMax, z[nb - 1][i]);
}
- break;
- case '][':
- v1 = Math.min.apply(null, contours.value);
- v2 = Math.max.apply(null, contours.value);
- if(v1 < boundaryMin && v2 > boundaryMax) {
- pi0.prefixBoundary = true;
+
+ var contoursValue = contours.value;
+ var v1, v2;
+
+ switch(contours._operation) {
+ case '>':
+ if(contoursValue > boundaryMax) {
+ pi0.prefixBoundary = true;
+ }
+ break;
+ case '<':
+ if(contoursValue < boundaryMin ||
+ (pi0.starts.length && contoursValue === boundaryMin)) {
+ pi0.prefixBoundary = true;
+ }
+ break;
+ case '[]':
+ v1 = Math.min(contoursValue[0], contoursValue[1]);
+ v2 = Math.max(contoursValue[0], contoursValue[1]);
+ if(v2 < boundaryMin || v1 > boundaryMax ||
+ (pi0.starts.length && v2 === boundaryMin)) {
+ pi0.prefixBoundary = true;
+ }
+ break;
+ case '][':
+ v1 = Math.min(contoursValue[0], contoursValue[1]);
+ v2 = Math.max(contoursValue[0], contoursValue[1]);
+ if(v1 < boundaryMin && v2 > boundaryMax) {
+ pi0.prefixBoundary = true;
+ }
+ break;
}
break;
}
diff --git a/src/traces/contour/convert_to_constraints.js b/src/traces/contour/convert_to_constraints.js
index cf44957b9cc..418f10b5575 100644
--- a/src/traces/contour/convert_to_constraints.js
+++ b/src/traces/contour/convert_to_constraints.js
@@ -14,6 +14,8 @@ var Lib = require('../../lib');
// need weird range loops and flipped contours instead of the usual format. This function
// does some weird manipulation of the extracted pathinfo data such that it magically
// draws contours correctly *as* constraints.
+//
+// ** I do not know which "weird range loops" the comment above is referring to.
module.exports = function(pathinfo, operation) {
var i, pi0, pi1;
@@ -29,18 +31,20 @@ module.exports = function(pathinfo, operation) {
Lib.warn('Contour data invalid for the specified inequality operation.');
}
- // In this case there should be exactly two contour levels in pathinfo. We
- // simply concatenate the info into one pathinfo and flip all of the data
- // in one. This will draw the contour as closed.
+ // In this case there should be exactly one contour levels in pathinfo.
+ // We flip all of the data. This will draw the contour as closed.
pi0 = pathinfo[0];
for(i = 0; i < pi0.edgepaths.length; i++) {
pi0.edgepaths[i] = op0(pi0.edgepaths[i]);
}
-
for(i = 0; i < pi0.paths.length; i++) {
pi0.paths[i] = op0(pi0.paths[i]);
}
+ for(i = 0; i < pi0.starts.length; i++) {
+ pi0.starts[i] = op0(pi0.starts[i]);
+ }
+
return pathinfo;
case '][':
var tmp = op0;
@@ -54,19 +58,22 @@ module.exports = function(pathinfo, operation) {
Lib.warn('Contour data invalid for the specified inequality range operation.');
}
- // In this case there should be exactly two contour levels in pathinfo. We
- // simply concatenate the info into one pathinfo and flip all of the data
- // in one. This will draw the contour as closed.
+ // In this case there should be exactly two contour levels in pathinfo.
+ // - We concatenate the info into one pathinfo.
+ // - We must also flip all of the data in the `[]` case.
+ // This will draw the contours as closed.
pi0 = copyPathinfo(pathinfo[0]);
pi1 = copyPathinfo(pathinfo[1]);
for(i = 0; i < pi0.edgepaths.length; i++) {
pi0.edgepaths[i] = op0(pi0.edgepaths[i]);
}
-
for(i = 0; i < pi0.paths.length; i++) {
pi0.paths[i] = op0(pi0.paths[i]);
}
+ for(i = 0; i < pi0.starts.length; i++) {
+ pi0.starts[i] = op0(pi0.starts[i]);
+ }
while(pi1.edgepaths.length) {
pi0.edgepaths.push(op1(pi1.edgepaths.shift()));
@@ -74,6 +81,10 @@ module.exports = function(pathinfo, operation) {
while(pi1.paths.length) {
pi0.paths.push(op1(pi1.paths.shift()));
}
+ while(pi1.starts.length) {
+ pi0.starts.push(op1(pi1.starts.shift()));
+ }
+
return [pi0];
}
};
@@ -81,6 +92,7 @@ module.exports = function(pathinfo, operation) {
function copyPathinfo(pi) {
return Lib.extendFlat({}, pi, {
edgepaths: Lib.extendDeep([], pi.edgepaths),
- paths: Lib.extendDeep([], pi.paths)
+ paths: Lib.extendDeep([], pi.paths),
+ starts: Lib.extendDeep([], pi.starts)
});
}
diff --git a/src/traces/contour/find_all_paths.js b/src/traces/contour/find_all_paths.js
index f6104f28b6f..481781924f3 100644
--- a/src/traces/contour/find_all_paths.js
+++ b/src/traces/contour/find_all_paths.js
@@ -53,15 +53,15 @@ function ptDist(pt1, pt2) {
}
function makePath(pi, loc, edgeflag, xtol, ytol) {
- var startLocStr = loc.join(',');
- var locStr = startLocStr;
+ var locStr = loc.join(',');
var mi = pi.crossings[locStr];
- var marchStep = startStep(mi, edgeflag, loc);
+ var marchStep = getStartStep(mi, edgeflag, loc);
// start by going backward a half step and finding the crossing point
var pts = [getInterpPx(pi, loc, [-marchStep[0], -marchStep[1]])];
- var startStepStr = marchStep.join(',');
var m = pi.z.length;
var n = pi.z[0].length;
+ var startLoc = loc.slice();
+ var startStep = marchStep.slice();
var cnt;
// now follow the path
@@ -83,14 +83,16 @@ function makePath(pi, loc, edgeflag, xtol, ytol) {
pts.push(getInterpPx(pi, loc, marchStep));
loc[0] += marchStep[0];
loc[1] += marchStep[1];
+ locStr = loc.join(',');
// don't include the same point multiple times
if(equalPts(pts[pts.length - 1], pts[pts.length - 2], xtol, ytol)) pts.pop();
- locStr = loc.join(',');
var atEdge = (marchStep[0] && (loc[0] < 0 || loc[0] > n - 2)) ||
(marchStep[1] && (loc[1] < 0 || loc[1] > m - 2));
- var closedLoop = (locStr === startLocStr) && (marchStep.join(',') === startStepStr);
+
+ var closedLoop = loc[0] === startLoc[0] && loc[1] === startLoc[1] &&
+ marchStep[0] === startStep[0] && marchStep[1] === startStep[1];
// have we completed a loop, or reached an edge?
if((closedLoop) || (edgeflag && atEdge)) break;
@@ -184,7 +186,7 @@ function makePath(pi, loc, edgeflag, xtol, ytol) {
} else {
if(!edgeflag) {
Lib.log('Unclosed interior contour?',
- pi.level, startLocStr, pts.join('L'));
+ pi.level, startLoc.join(','), pts.join('L'));
}
// edge path - does it start where an existing edge path ends, or vice versa?
@@ -234,7 +236,7 @@ function makePath(pi, loc, edgeflag, xtol, ytol) {
// special function to get the marching step of the
// first point in the path (leading to loc)
-function startStep(mi, edgeflag, loc) {
+function getStartStep(mi, edgeflag, loc) {
var dx = 0;
var dy = 0;
if(mi > 20 && edgeflag) {
diff --git a/src/traces/contour/plot.js b/src/traces/contour/plot.js
index fc09e557312..1db57c67c0d 100644
--- a/src/traces/contour/plot.js
+++ b/src/traces/contour/plot.js
@@ -63,8 +63,8 @@ exports.plot = function plot(gd, plotinfo, cdcontours, contourLayer) {
var fillPathinfo = pathinfo;
if(contours.type === 'constraint') {
+ // N.B. this also mutates pathinfo
fillPathinfo = convertToConstraints(pathinfo, contours._operation);
- closeBoundaries(fillPathinfo, contours._operation, perimeter, trace);
}
// draw everything
@@ -88,10 +88,17 @@ function makeBackground(plotgroup, perimeter, contours) {
}
function makeFills(plotgroup, pathinfo, perimeter, contours) {
+ var hasFills = contours.coloring === 'fill' || (contours.type === 'constraint' && contours._operation !== '=');
+ var boundaryPath = 'M' + perimeter.join('L') + 'Z';
+
+ // fills prefixBoundary in pathinfo items
+ if(hasFills) {
+ closeBoundaries(pathinfo, contours);
+ }
+
var fillgroup = Lib.ensureSingle(plotgroup, 'g', 'contourfill');
- var fillitems = fillgroup.selectAll('path')
- .data(contours.coloring === 'fill' || (contours.type === 'constraint' && contours._operation !== '=') ? pathinfo : []);
+ var fillitems = fillgroup.selectAll('path').data(hasFills ? pathinfo : []);
fillitems.enter().append('path');
fillitems.exit().remove();
fillitems.each(function(pi) {
@@ -100,30 +107,21 @@ function makeFills(plotgroup, pathinfo, perimeter, contours) {
// if the whole perimeter is above this level, start with a path
// enclosing the whole thing. With all that, the parity should mean
// that we always fill everything above the contour, nothing below
- var fullpath = joinAllPaths(pi, perimeter);
+ var fullpath = (pi.prefixBoundary ? boundaryPath : '') +
+ joinAllPaths(pi, perimeter);
- if(!fullpath) d3.select(this).remove();
- else d3.select(this).attr('d', fullpath).style('stroke', 'none');
+ if(!fullpath) {
+ d3.select(this).remove();
+ } else {
+ d3.select(this)
+ .attr('d', fullpath)
+ .style('stroke', 'none');
+ }
});
}
-function initFullPath(pi, perimeter) {
- var prefixBoundary = pi.prefixBoundary;
- if(prefixBoundary === undefined) {
- var edgeVal2 = Math.min(pi.z[0][0], pi.z[0][1]);
- prefixBoundary = (!pi.edgepaths.length && edgeVal2 > pi.level);
- }
-
- if(prefixBoundary) {
- // TODO: why does ^^ not work for constraints?
- // pi.prefixBoundary gets set by closeBoundaries
- return 'M' + perimeter.join('L') + 'Z';
- }
- return '';
-}
-
function joinAllPaths(pi, perimeter) {
- var fullpath = initFullPath(pi, perimeter);
+ var fullpath = '';
var i = 0;
var startsleft = pi.edgepaths.map(function(v, i) { return i; });
var newloop = true;
@@ -612,17 +610,18 @@ exports.drawLabels = function(labelGroup, labelData, gd, lineClip, labelClipPath
};
function clipGaps(plotGroup, plotinfo, gd, cd0, perimeter) {
+ var trace = cd0.trace;
var clips = gd._fullLayout._clips;
- var clipId = 'clip' + cd0.trace.uid;
+ var clipId = 'clip' + trace.uid;
var clipPath = clips.selectAll('#' + clipId)
- .data(cd0.trace.connectgaps ? [] : [0]);
+ .data(trace.connectgaps ? [] : [0]);
clipPath.enter().append('clipPath')
.classed('contourclip', true)
.attr('id', clipId);
clipPath.exit().remove();
- if(cd0.trace.connectgaps === false) {
+ if(trace.connectgaps === false) {
var clipPathInfo = {
// fraction of the way from missing to present point
// to draw the boundary.
@@ -644,10 +643,13 @@ function clipGaps(plotGroup, plotinfo, gd, cd0, perimeter) {
makeCrossings([clipPathInfo]);
findAllPaths([clipPathInfo]);
- var fullpath = joinAllPaths(clipPathInfo, perimeter);
+ closeBoundaries([clipPathInfo], {type: 'levels'});
var path = Lib.ensureSingle(clipPath, 'path', '');
- path.attr('d', fullpath);
+ path.attr('d',
+ (clipPathInfo.prefixBoundary ? 'M' + perimeter.join('L') + 'Z' : '') +
+ joinAllPaths(clipPathInfo, perimeter)
+ );
} else clipId = null;
Drawing.setClipUrl(plotGroup, clipId, gd);
diff --git a/src/traces/contourcarpet/index.js b/src/traces/contourcarpet/index.js
index 850ef1dfa20..6d74e79806f 100644
--- a/src/traces/contourcarpet/index.js
+++ b/src/traces/contourcarpet/index.js
@@ -19,7 +19,7 @@ module.exports = {
moduleType: 'trace',
name: 'contourcarpet',
basePlotModule: require('../../plots/cartesian'),
- categories: ['cartesian', 'svg', 'carpet', 'contour', 'symbols', 'showLegend', 'hasLines', 'carpetDependent'],
+ categories: ['cartesian', 'svg', 'carpet', 'contour', 'symbols', 'showLegend', 'hasLines', 'carpetDependent', 'noHover'],
meta: {
hrName: 'contour_carpet',
description: [
diff --git a/src/traces/contourcarpet/join_all_paths.js b/src/traces/contourcarpet/join_all_paths.js
deleted file mode 100644
index 6aa1653cde9..00000000000
--- a/src/traces/contourcarpet/join_all_paths.js
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
-* Copyright 2012-2019, Plotly, Inc.
-* All rights reserved.
-*
-* This source code is licensed under the MIT license found in the
-* LICENSE file in the root directory of this source tree.
-*/
-
-'use strict';
-
-var Drawing = require('../../components/drawing');
-var axisAlignedLine = require('../carpet/axis_aligned_line');
-var Lib = require('../../lib');
-
-module.exports = function joinAllPaths(trace, pi, perimeter, ab2p, carpet, carpetcd, xa, ya) {
- var i;
- var fullpath = '';
-
- var startsleft = pi.edgepaths.map(function(v, i) { return i; });
- var newloop = true;
- var endpt, newendpt, cnt, nexti, possiblei, addpath;
-
- var atol = Math.abs(perimeter[0][0] - perimeter[2][0]) * 1e-4;
- var btol = Math.abs(perimeter[0][1] - perimeter[2][1]) * 1e-4;
-
- function istop(pt) { return Math.abs(pt[1] - perimeter[0][1]) < btol; }
- function isbottom(pt) { return Math.abs(pt[1] - perimeter[2][1]) < btol; }
- function isleft(pt) { return Math.abs(pt[0] - perimeter[0][0]) < atol; }
- function isright(pt) { return Math.abs(pt[0] - perimeter[2][0]) < atol; }
-
- function pathto(pt0, pt1) {
- var i, j, segments, axis;
- var path = '';
-
- if((istop(pt0) && !isright(pt0)) || (isbottom(pt0) && !isleft(pt0))) {
- axis = carpet.aaxis;
- segments = axisAlignedLine(carpet, carpetcd, [pt0[0], pt1[0]], 0.5 * (pt0[1] + pt1[1]));
- } else {
- axis = carpet.baxis;
- segments = axisAlignedLine(carpet, carpetcd, 0.5 * (pt0[0] + pt1[0]), [pt0[1], pt1[1]]);
- }
-
- for(i = 1; i < segments.length; i++) {
- path += axis.smoothing ? 'C' : 'L';
- for(j = 0; j < segments[i].length; j++) {
- var pt = segments[i][j];
- path += [xa.c2p(pt[0]), ya.c2p(pt[1])] + ' ';
- }
- }
-
- return path;
- }
-
- i = 0;
- endpt = null;
- while(startsleft.length) {
- var startpt = pi.edgepaths[i][0];
-
- if(endpt) {
- fullpath += pathto(endpt, startpt);
- }
-
- addpath = Drawing.smoothopen(pi.edgepaths[i].map(ab2p), pi.smoothing);
- fullpath += newloop ? addpath : addpath.replace(/^M/, 'L');
- startsleft.splice(startsleft.indexOf(i), 1);
- endpt = pi.edgepaths[i][pi.edgepaths[i].length - 1];
- nexti = -1;
-
- // now loop through sides, moving our endpoint until we find a new start
- for(cnt = 0; cnt < 4; cnt++) { // just to prevent infinite loops
- if(!endpt) {
- Lib.log('Missing end?', i, pi);
- break;
- }
-
- if(istop(endpt) && !isright(endpt)) {
- newendpt = perimeter[1]; // left top ---> right top
- } else if(isleft(endpt)) {
- newendpt = perimeter[0]; // left bottom ---> left top
- } else if(isbottom(endpt)) {
- newendpt = perimeter[3]; // right bottom
- } else if(isright(endpt)) {
- newendpt = perimeter[2]; // left bottom
- }
-
- for(possiblei = 0; possiblei < pi.edgepaths.length; possiblei++) {
- var ptNew = pi.edgepaths[possiblei][0];
- // is ptNew on the (horz. or vert.) segment from endpt to newendpt?
- if(Math.abs(endpt[0] - newendpt[0]) < atol) {
- if(Math.abs(endpt[0] - ptNew[0]) < atol && (ptNew[1] - endpt[1]) * (newendpt[1] - ptNew[1]) >= 0) {
- newendpt = ptNew;
- nexti = possiblei;
- }
- } else if(Math.abs(endpt[1] - newendpt[1]) < btol) {
- if(Math.abs(endpt[1] - ptNew[1]) < btol && (ptNew[0] - endpt[0]) * (newendpt[0] - ptNew[0]) >= 0) {
- newendpt = ptNew;
- nexti = possiblei;
- }
- } else {
- Lib.log('endpt to newendpt is not vert. or horz.', endpt, newendpt, ptNew);
- }
- }
-
- if(nexti >= 0) break;
- fullpath += pathto(endpt, newendpt);
- endpt = newendpt;
- }
-
- if(nexti === pi.edgepaths.length) {
- Lib.log('unclosed perimeter path');
- break;
- }
-
- i = nexti;
-
- // if we closed back on a loop we already included,
- // close it and start a new loop
- newloop = (startsleft.indexOf(i) === -1);
- if(newloop) {
- i = startsleft[0];
- fullpath += pathto(endpt, newendpt) + 'Z';
- endpt = null;
- }
- }
-
- // finally add the interior paths
- for(i = 0; i < pi.paths.length; i++) {
- fullpath += Drawing.smoothclosed(pi.paths[i].map(ab2p), pi.smoothing);
- }
-
- return fullpath;
-};
diff --git a/src/traces/contourcarpet/map_pathinfo.js b/src/traces/contourcarpet/map_pathinfo.js
deleted file mode 100644
index 16278d1c364..00000000000
--- a/src/traces/contourcarpet/map_pathinfo.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
-* Copyright 2012-2019, Plotly, Inc.
-* All rights reserved.
-*
-* This source code is licensed under the MIT license found in the
-* LICENSE file in the root directory of this source tree.
-*/
-
-'use strict';
-
-module.exports = function mapPathinfo(pathinfo, map) {
- var i, j, k, pi, pedgepaths, ppaths, pedgepath, ppath, path;
-
- for(i = 0; i < pathinfo.length; i++) {
- pi = pathinfo[i];
- pedgepaths = pi.pedgepaths = [];
- ppaths = pi.ppaths = [];
- for(j = 0; j < pi.edgepaths.length; j++) {
- path = pi.edgepaths[j];
- pedgepath = [];
- for(k = 0; k < path.length; k++) {
- pedgepath[k] = map(path[k]);
- }
- pedgepaths.push(pedgepath);
- }
- for(j = 0; j < pi.paths.length; j++) {
- path = pi.paths[j];
- ppath = [];
- for(k = 0; k < path.length; k++) {
- ppath[k] = map(path[k]);
- }
- ppaths.push(ppath);
- }
- }
-};
diff --git a/src/traces/contourcarpet/plot.js b/src/traces/contourcarpet/plot.js
index 97b9813d7c5..72b93ead062 100644
--- a/src/traces/contourcarpet/plot.js
+++ b/src/traces/contourcarpet/plot.js
@@ -19,11 +19,10 @@ var findAllPaths = require('../contour/find_all_paths');
var contourPlot = require('../contour/plot');
var constants = require('../contour/constants');
var convertToConstraints = require('../contour/convert_to_constraints');
-var joinAllPaths = require('./join_all_paths');
var emptyPathinfo = require('../contour/empty_pathinfo');
-var mapPathinfo = require('./map_pathinfo');
-var lookupCarpet = require('../carpet/lookup_carpetid');
var closeBoundaries = require('../contour/close_boundaries');
+var lookupCarpet = require('../carpet/lookup_carpetid');
+var axisAlignedLine = require('../carpet/axis_aligned_line');
module.exports = function plot(gd, plotinfo, cdcontours, contourcarpetLayer) {
var xa = plotinfo.xaxis;
@@ -78,7 +77,6 @@ module.exports = function plot(gd, plotinfo, cdcontours, contourcarpetLayer) {
var fillPathinfo = pathinfo;
if(contours.type === 'constraint') {
fillPathinfo = convertToConstraints(pathinfo, operation);
- closeBoundaries(fillPathinfo, operation, perimeter, trace);
}
// Map the paths in a/b coordinates to pixel coordinates:
@@ -117,6 +115,32 @@ module.exports = function plot(gd, plotinfo, cdcontours, contourcarpetLayer) {
});
};
+function mapPathinfo(pathinfo, map) {
+ var i, j, k, pi, pedgepaths, ppaths, pedgepath, ppath, path;
+
+ for(i = 0; i < pathinfo.length; i++) {
+ pi = pathinfo[i];
+ pedgepaths = pi.pedgepaths = [];
+ ppaths = pi.ppaths = [];
+ for(j = 0; j < pi.edgepaths.length; j++) {
+ path = pi.edgepaths[j];
+ pedgepath = [];
+ for(k = 0; k < path.length; k++) {
+ pedgepath[k] = map(path[k]);
+ }
+ pedgepaths.push(pedgepath);
+ }
+ for(j = 0; j < pi.paths.length; j++) {
+ path = pi.paths[j];
+ ppath = [];
+ for(k = 0; k < path.length; k++) {
+ ppath[k] = map(path[k]);
+ }
+ ppaths.push(ppath);
+ }
+ }
+}
+
function makeLinesAndLabels(plotgroup, pathinfo, gd, cd0, contours, plotinfo, carpet) {
var lineContainer = Lib.ensureSingle(plotgroup, 'g', 'contourlines');
var showLines = contours.showlines !== false;
@@ -303,10 +327,15 @@ function makeBackground(plotgroup, clipsegments, xaxis, yaxis, isConstraint, col
}
function makeFills(trace, plotgroup, xa, ya, pathinfo, perimeter, ab2p, carpet, carpetcd, coloring, boundaryPath) {
- var fillgroup = Lib.ensureSingle(plotgroup, 'g', 'contourfill');
+ var hasFills = coloring === 'fill';
- var fillitems = fillgroup.selectAll('path')
- .data(coloring === 'fill' ? pathinfo : []);
+ // fills prefixBoundary in pathinfo items
+ if(hasFills) {
+ closeBoundaries(pathinfo, trace.contours);
+ }
+
+ var fillgroup = Lib.ensureSingle(plotgroup, 'g', 'contourfill');
+ var fillitems = fillgroup.selectAll('path').data(hasFills ? pathinfo : []);
fillitems.enter().append('path');
fillitems.exit().remove();
fillitems.each(function(pi) {
@@ -315,11 +344,8 @@ function makeFills(trace, plotgroup, xa, ya, pathinfo, perimeter, ab2p, carpet,
// if the whole perimeter is above this level, start with a path
// enclosing the whole thing. With all that, the parity should mean
// that we always fill everything above the contour, nothing below
- var fullpath = joinAllPaths(trace, pi, perimeter, ab2p, carpet, carpetcd, xa, ya);
-
- if(pi.prefixBoundary) {
- fullpath = boundaryPath + fullpath;
- }
+ var fullpath = (pi.prefixBoundary ? boundaryPath : '') +
+ joinAllPaths(trace, pi, perimeter, ab2p, carpet, carpetcd, xa, ya);
if(!fullpath) {
d3.select(this).remove();
@@ -330,3 +356,124 @@ function makeFills(trace, plotgroup, xa, ya, pathinfo, perimeter, ab2p, carpet,
}
});
}
+
+function joinAllPaths(trace, pi, perimeter, ab2p, carpet, carpetcd, xa, ya) {
+ var i;
+ var fullpath = '';
+
+ var startsleft = pi.edgepaths.map(function(v, i) { return i; });
+ var newloop = true;
+ var endpt, newendpt, cnt, nexti, possiblei, addpath;
+
+ var atol = Math.abs(perimeter[0][0] - perimeter[2][0]) * 1e-4;
+ var btol = Math.abs(perimeter[0][1] - perimeter[2][1]) * 1e-4;
+
+ function istop(pt) { return Math.abs(pt[1] - perimeter[0][1]) < btol; }
+ function isbottom(pt) { return Math.abs(pt[1] - perimeter[2][1]) < btol; }
+ function isleft(pt) { return Math.abs(pt[0] - perimeter[0][0]) < atol; }
+ function isright(pt) { return Math.abs(pt[0] - perimeter[2][0]) < atol; }
+
+ function pathto(pt0, pt1) {
+ var i, j, segments, axis;
+ var path = '';
+
+ if((istop(pt0) && !isright(pt0)) || (isbottom(pt0) && !isleft(pt0))) {
+ axis = carpet.aaxis;
+ segments = axisAlignedLine(carpet, carpetcd, [pt0[0], pt1[0]], 0.5 * (pt0[1] + pt1[1]));
+ } else {
+ axis = carpet.baxis;
+ segments = axisAlignedLine(carpet, carpetcd, 0.5 * (pt0[0] + pt1[0]), [pt0[1], pt1[1]]);
+ }
+
+ for(i = 1; i < segments.length; i++) {
+ path += axis.smoothing ? 'C' : 'L';
+ for(j = 0; j < segments[i].length; j++) {
+ var pt = segments[i][j];
+ path += [xa.c2p(pt[0]), ya.c2p(pt[1])] + ' ';
+ }
+ }
+
+ return path;
+ }
+
+ i = 0;
+ endpt = null;
+ while(startsleft.length) {
+ var startpt = pi.edgepaths[i][0];
+
+ if(endpt) {
+ fullpath += pathto(endpt, startpt);
+ }
+
+ addpath = Drawing.smoothopen(pi.edgepaths[i].map(ab2p), pi.smoothing);
+ fullpath += newloop ? addpath : addpath.replace(/^M/, 'L');
+ startsleft.splice(startsleft.indexOf(i), 1);
+ endpt = pi.edgepaths[i][pi.edgepaths[i].length - 1];
+ nexti = -1;
+
+ // now loop through sides, moving our endpoint until we find a new start
+ for(cnt = 0; cnt < 4; cnt++) { // just to prevent infinite loops
+ if(!endpt) {
+ Lib.log('Missing end?', i, pi);
+ break;
+ }
+
+ if(istop(endpt) && !isright(endpt)) {
+ newendpt = perimeter[1]; // left top ---> right top
+ } else if(isleft(endpt)) {
+ newendpt = perimeter[0]; // left bottom ---> left top
+ } else if(isbottom(endpt)) {
+ newendpt = perimeter[3]; // right bottom
+ } else if(isright(endpt)) {
+ newendpt = perimeter[2]; // left bottom
+ }
+
+ for(possiblei = 0; possiblei < pi.edgepaths.length; possiblei++) {
+ var ptNew = pi.edgepaths[possiblei][0];
+ // is ptNew on the (horz. or vert.) segment from endpt to newendpt?
+ if(Math.abs(endpt[0] - newendpt[0]) < atol) {
+ if(Math.abs(endpt[0] - ptNew[0]) < atol &&
+ (ptNew[1] - endpt[1]) * (newendpt[1] - ptNew[1]) >= 0) {
+ newendpt = ptNew;
+ nexti = possiblei;
+ }
+ } else if(Math.abs(endpt[1] - newendpt[1]) < btol) {
+ if(Math.abs(endpt[1] - ptNew[1]) < btol &&
+ (ptNew[0] - endpt[0]) * (newendpt[0] - ptNew[0]) >= 0) {
+ newendpt = ptNew;
+ nexti = possiblei;
+ }
+ } else {
+ Lib.log('endpt to newendpt is not vert. or horz.', endpt, newendpt, ptNew);
+ }
+ }
+
+ if(nexti >= 0) break;
+ fullpath += pathto(endpt, newendpt);
+ endpt = newendpt;
+ }
+
+ if(nexti === pi.edgepaths.length) {
+ Lib.log('unclosed perimeter path');
+ break;
+ }
+
+ i = nexti;
+
+ // if we closed back on a loop we already included,
+ // close it and start a new loop
+ newloop = (startsleft.indexOf(i) === -1);
+ if(newloop) {
+ i = startsleft[0];
+ fullpath += pathto(endpt, newendpt) + 'Z';
+ endpt = null;
+ }
+ }
+
+ // finally add the interior paths
+ for(i = 0; i < pi.paths.length; i++) {
+ fullpath += Drawing.smoothclosed(pi.paths[i].map(ab2p), pi.smoothing);
+ }
+
+ return fullpath;
+}
diff --git a/src/traces/scattercarpet/attributes.js b/src/traces/scattercarpet/attributes.js
index 3c2fed05336..cd76515338e 100644
--- a/src/traces/scattercarpet/attributes.js
+++ b/src/traces/scattercarpet/attributes.js
@@ -26,7 +26,7 @@ module.exports = {
editType: 'calc',
description: [
'An identifier for this carpet, so that `scattercarpet` and',
- '`scattercontour` traces can specify a carpet plot on which',
+ '`contourcarpet` traces can specify a carpet plot on which',
'they lie'
].join(' ')
},
diff --git a/test/image/baselines/carpet_rounded-off-edgepath-gt.png b/test/image/baselines/carpet_rounded-off-edgepath-gt.png
new file mode 100644
index 00000000000..bac4d2655f7
Binary files /dev/null and b/test/image/baselines/carpet_rounded-off-edgepath-gt.png differ
diff --git a/test/image/baselines/carpet_rounded-off-edgepath-lt.png b/test/image/baselines/carpet_rounded-off-edgepath-lt.png
new file mode 100644
index 00000000000..7be8495577e
Binary files /dev/null and b/test/image/baselines/carpet_rounded-off-edgepath-lt.png differ
diff --git a/test/image/baselines/carpet_rounded-off-edgepath.png b/test/image/baselines/carpet_rounded-off-edgepath.png
new file mode 100644
index 00000000000..14b0e71d137
Binary files /dev/null and b/test/image/baselines/carpet_rounded-off-edgepath.png differ
diff --git a/test/image/baselines/contour_constraints_edge_cases.png b/test/image/baselines/contour_constraints_edge_cases.png
new file mode 100644
index 00000000000..c85b29bba1f
Binary files /dev/null and b/test/image/baselines/contour_constraints_edge_cases.png differ
diff --git a/test/image/baselines/contour_constraints_equal_boundary_minmax.png b/test/image/baselines/contour_constraints_equal_boundary_minmax.png
new file mode 100644
index 00000000000..d144612d734
Binary files /dev/null and b/test/image/baselines/contour_constraints_equal_boundary_minmax.png differ
diff --git a/test/image/mocks/carpet_rounded-off-edgepath-gt.json b/test/image/mocks/carpet_rounded-off-edgepath-gt.json
new file mode 100644
index 00000000000..80e921aa3d3
--- /dev/null
+++ b/test/image/mocks/carpet_rounded-off-edgepath-gt.json
@@ -0,0 +1,241 @@
+{
+ "data": [
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ }
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot",
+ "name": "contours.value: -8.9",
+ "legendgroup": "contours.value: -8.9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": ">",
+ "value": -8.9,
+ "showlabels": true
+ },
+ "line": {"color": "#66c2a5"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot2",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ },
+ "yaxis": "y2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot2",
+ "name": "contours.value: -9",
+ "legendgroup": "contours.value: -9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": ">",
+ "value": -9,
+ "showlabels": true
+ },
+ "line": {"color": "#fc8d62"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot3",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ },
+ "yaxis": "y3"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot3",
+ "name": "contours.value: -9.1",
+ "legendgroup": "contours.value: -9.1",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": ">",
+ "value": -9.1,
+ "showlabels": true
+ },
+ "line": {"color": "#8da0cb"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot-nosmooth",
+ "name": "contours.value: -8.9",
+ "legendgroup": "contours.value: -8.9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": ">",
+ "value": -8.9,
+ "showlabels": true
+ },
+ "line": {"color": "#66c2a5", "smoothing": 0},
+ "showlegend": false
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot2-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2",
+ "yaxis": "y2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot2-nosmooth",
+ "name": "contours.value: -9",
+ "legendgroup": "contours.value: -9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": ">",
+ "value": -9,
+ "showlabels": true
+ },
+ "line": {"color": "#fc8d62", "smoothing": 0},
+ "showlegend": false
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot3-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2",
+ "yaxis": "y3"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot3-nosmooth",
+ "name": "contours.value: -9.1",
+ "legendgroup": "contours.value: -9.1",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": ">",
+ "value": -9.1,
+ "showlabels": true
+ },
+ "line": {"color": "#8da0cb", "smoothing": 0},
+ "showlegend": false
+ }
+ ],
+ "layout": {
+ "grid": {"rows": 3, "columns": 2, "xgap": 0, "ygap": 0},
+ "xaxis2": {"matches": "x"},
+ "yaxis2": {"matches": "y"},
+ "yaxis3": {"matches": "y"},
+ "margin": {"t": 80, "l": 25, "r": 25, "b": 20},
+ "legend": {"x": 0, "y": 1, "yanchor": "bottom", "tracegroupgap": 0},
+ "title": {"text": "left: dflt smoothing | right: no smoothing"},
+ "width": 800,
+ "height": 1600,
+ "hovermode": "closest"
+ }
+}
diff --git a/test/image/mocks/carpet_rounded-off-edgepath-lt.json b/test/image/mocks/carpet_rounded-off-edgepath-lt.json
new file mode 100644
index 00000000000..1d52cfb4754
--- /dev/null
+++ b/test/image/mocks/carpet_rounded-off-edgepath-lt.json
@@ -0,0 +1,241 @@
+{
+ "data": [
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ }
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot",
+ "name": "contours.value: -8.9",
+ "legendgroup": "contours.value: -8.9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": -8.9,
+ "showlabels": true
+ },
+ "line": {"color": "#66c2a5"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot2",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ },
+ "yaxis": "y2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot2",
+ "name": "contours.value: -9",
+ "legendgroup": "contours.value: -9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": -9,
+ "showlabels": true
+ },
+ "line": {"color": "#fc8d62"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot3",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ },
+ "yaxis": "y3"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot3",
+ "name": "contours.value: -9.1",
+ "legendgroup": "contours.value: -9.1",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": -9.1,
+ "showlabels": true
+ },
+ "line": {"color": "#8da0cb"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot-nosmooth",
+ "name": "contours.value: -8.9",
+ "legendgroup": "contours.value: -8.9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": -8.9,
+ "showlabels": true
+ },
+ "line": {"color": "#66c2a5", "smoothing": 0},
+ "showlegend": false
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot2-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2",
+ "yaxis": "y2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot2-nosmooth",
+ "name": "contours.value: -9",
+ "legendgroup": "contours.value: -9",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": -9,
+ "showlabels": true
+ },
+ "line": {"color": "#fc8d62", "smoothing": 0},
+ "showlegend": false
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot3-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2",
+ "yaxis": "y3"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot3-nosmooth",
+ "name": "contours.value: -9.1",
+ "legendgroup": "contours.value: -9.1",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": -9.1,
+ "showlabels": true
+ },
+ "line": {"color": "#8da0cb", "smoothing": 0},
+ "showlegend": false
+ }
+ ],
+ "layout": {
+ "grid": {"rows": 3, "columns": 2, "xgap": 0, "ygap": 0},
+ "xaxis2": {"matches": "x"},
+ "yaxis2": {"matches": "y"},
+ "yaxis3": {"matches": "y"},
+ "margin": {"t": 80, "l": 25, "r": 25, "b": 20},
+ "legend": {"x": 0, "y": 1, "yanchor": "bottom", "tracegroupgap": 0},
+ "title": {"text": "left: dflt smoothing | right: no smoothing"},
+ "width": 800,
+ "height": 1600,
+ "hovermode": "closest"
+ }
+}
diff --git a/test/image/mocks/carpet_rounded-off-edgepath.json b/test/image/mocks/carpet_rounded-off-edgepath.json
new file mode 100644
index 00000000000..f66e2fd2cfa
--- /dev/null
+++ b/test/image/mocks/carpet_rounded-off-edgepath.json
@@ -0,0 +1,241 @@
+{
+ "data": [
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ }
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot",
+ "name": "contours.value: [-10.5, -8.9]",
+ "legendgroup": "contours.value: [-10.5, -8.9]",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [ -10.5, -8.9 ],
+ "showlabels": true
+ },
+ "line": {"color": "#66c2a5"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot2",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ },
+ "yaxis": "y2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot2",
+ "name": "contours.value: [-10.5, -9]",
+ "legendgroup": "contours.value: [-10.5, -9]",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [ -10.5, -9 ],
+ "showlabels": true
+ },
+ "line": {"color": "#fc8d62"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot3",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2
+ },
+ "yaxis": "y3"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot3",
+ "name": "contours.value: [-10.5, -9.1]",
+ "legendgroup": "contours.value: [-10.5, -9.1]",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [ -10.5, -9.1 ],
+ "showlabels": true
+ },
+ "line": {"color": "#8da0cb"}
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot-nosmooth",
+ "name": "contours.value: [-10.5, -8.9]",
+ "legendgroup": "contours.value: [-10.5, -8.9]",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [ -10.5, -8.9 ],
+ "showlabels": true
+ },
+ "line": {"color": "#66c2a5", "smoothing": 0},
+ "showlegend": false
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot2-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2",
+ "yaxis": "y2"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot2-nosmooth",
+ "name": "contours.value: [-10.5, -9]",
+ "legendgroup": "contours.value: [-10.5, -9]",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [ -10.5, -9 ],
+ "showlabels": true
+ },
+ "line": {"color": "#fc8d62", "smoothing": 0},
+ "showlegend": false
+ },
+
+ {
+ "type": "carpet",
+ "carpet": "mycarpetplot3-nosmooth",
+ "y": [ 229.178784747792, 215.2652291978947, 202.8404029280965, 192.2260432445133, 183.708613942406, 177.5782812074495, 174.0884418151758, 173.3997106720247, 175.5461489316327, 180.4275637731995, 214.1372096444189, 199.1772036548325, 185.6808329674267, 174.0217751485092, 164.5621432773428, 157.6862328790123, 153.7424076215481, 152.9590721355289, 155.3854290275791, 160.8775126832159, 197.955701450632, 181.6698080474646, 166.7647891089293, 153.6757409548815, 142.8717792464716, 134.8906788834622, 130.2541612651109, 129.3244816623668, 132.1818258222746, 138.5937310486346, 180.3275637731995, 162.2842429612248, 145.40835920336, 130.1874945984443, 117.2334617207166, 107.3567106434887, 101.4627088383036, 100.2597576517775, 103.9141205126078, 111.9533988749895, 160.7775126832159, 140.2436607124885, 120.318932376154, 101.396042171637, 84.10969972456421, 69.67202270078705, 60.1758545910665, 58.1072583828364, 64.19756997039333, 76.52626158259734, 138.4937310486346, 114.0182473815733, 88.37207622548259, 60.1091879243998, 20.06972930813322, 42.7341430437145, 55.36041317259001, 57.5726690710478, 50.74129766191278, 29.01751345948131, 111.8533988749895, 79.57122812931308, 33.798680723879, 55.29374650592334, 79.19337138208338, 92.18957750987222, 98.68466305166027, 99.95111530895238, 96.19231369883657, 86.75254037844387, 76.42626158259732, 18.45347105752998, 74.33382311255365, 98.61799638499362, 113.7582749469929, 123.163998923113, 128.1024291311435, 129.0854085138211, 126.2033968656691, 119.1738071423809, 28.91751345948124, 83.73066207399643, 110.4200384130655, 128.0357624644768, 140.0344796483795, 147.7803977812036, 151.9238929857383, 152.7570184892676, 150.3333981621753, 144.4875672974064, 86.65254037844386, 116.9586954436066, 137.3300788256475, 151.8572263190717, 162.1050238423869, 168.843972566259, 172.48467387981, 173.2215161209209, 171.0909172603235, 165.98123951777 ],
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "aaxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "dtick": 2,
+ "smoothing": 0
+ },
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "baxis": {
+ "tickmode": "linear",
+ "minorgridcount": 3,
+ "tick0": 0.5999999999999996,
+ "endlinewidth": 2,
+ "smoothing": 0
+ },
+ "xaxis": "x2",
+ "yaxis": "y3"
+ },
+ {
+ "type": "contourcarpet",
+ "carpet": "mycarpetplot3-nosmooth",
+ "name": "contours.value: [-10.5, -9.1]",
+ "legendgroup": "contours.value: [-10.5, -9.1]",
+ "a": [ -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5, -15, -12.77777777777778, -10.55555555555556, -8.333333333333332, -6.111111111111111, -3.888888888888889, -1.666666666666666, 0.5555555555555554, 2.777777777777779, 5 ],
+ "b": [ -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -2.333333333333333, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1.666666666666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, -0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 0.3333333333333335, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 1.666666666666667, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 2.333333333333333, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 ],
+ "z": [ -7, 0, -1, -1, 1, -9, 3, -1, -1, -1, -1, -3, 5, 2, 0, -1, 12, 0, 0, 2, 4, -13, 0, 0, -7, -3, -4, 1, -1, -9, 1, -4, 0, 3, 1, -1, -1, 0, -2, -5, 2, 0, 5, 5, -3, -4, -2, -1, 0, -1, -1, 5, 3, 1, 1, 3, 9, 8, -2, -4, 1, 0, -2, -2, 0, 5, 2, -9, -4, -9, -1, -1, 3, -1, -1, 0, -1, 4, -2, 12, 4, -1, -4, -7, 6, 0, 1, 1, 0, 0, 1, 3, 1, 2, 1, 0, -2, 1, 0, 0 ],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [ -10.5, -9.1 ],
+ "showlabels": true
+ },
+ "line": {"color": "#8da0cb", "smoothing": 0},
+ "showlegend": false
+ }
+ ],
+ "layout": {
+ "grid": {"rows": 3, "columns": 2, "xgap": 0, "ygap": 0},
+ "xaxis2": {"matches": "x"},
+ "yaxis2": {"matches": "y"},
+ "yaxis3": {"matches": "y"},
+ "margin": {"t": 80, "l": 25, "r": 25, "b": 20},
+ "legend": {"x": 0, "y": 1, "yanchor": "bottom", "tracegroupgap": 0},
+ "title": {"text": "left: dflt smoothing | right: no smoothing"},
+ "width": 800,
+ "height": 1600,
+ "hovermode": "closest"
+ }
+}
diff --git a/test/image/mocks/contour_constraints_edge_cases.json b/test/image/mocks/contour_constraints_edge_cases.json
new file mode 100644
index 00000000000..c59c4291cea
--- /dev/null
+++ b/test/image/mocks/contour_constraints_edge_cases.json
@@ -0,0 +1,71 @@
+{
+ "data": [
+ {
+ "connectgaps": true,
+ "x": [0, 5],
+ "y": [0, 4],
+ "z": [[4, 3], [2, 1]],
+ "type": "contour",
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": 0.99
+ }
+ },
+ {
+ "mode": "text",
+ "x": [0, 0, 5, 5],
+ "y": [0, 4, 0, 4],
+ "text": [4, 3, 2, 1]
+ },
+ {
+ "connectgaps": true,
+ "x": [0, 5],
+ "y": [0, 4],
+ "z": [[4, 3], [2, 1]],
+ "type": "contour",
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": 1
+ },
+ "xaxis": "x2"
+ },
+ {
+ "mode": "text",
+ "x": [0, 0, 5, 5],
+ "y": [0, 4, 0, 4],
+ "text": [4, 3, 2, 1],
+ "xaxis": "x2"
+ },
+ {
+ "connectgaps": true,
+ "x": [0, 5],
+ "y": [0, 4],
+ "z": [[4, 3], [2, 1]],
+ "type": "contour",
+ "contours": {
+ "type": "constraint",
+ "operation": "<",
+ "value": 1.01
+ },
+ "xaxis": "x3"
+ },
+ {
+ "mode": "text",
+ "x": [0, 0, 5, 5],
+ "y": [0, 4, 0, 4],
+ "text": [4, 3, 2, 1],
+ "xaxis": "x3"
+ }
+ ],
+ "layout": {
+ "grid": {"rows": 1, "columns": 3},
+ "width": 600,
+ "height": 400,
+ "showlegend": false,
+ "xaxis": {"side": "top", "title": {"text": "<0.99
no edge path"}},
+ "xaxis2": {"matches": "x", "side": "top", "title": {"text": "<1
rounded off edge path"}},
+ "xaxis3": {"matches": "x", "side": "top", "title": {"text": "<1.01
one edge path"}}
+ }
+}
diff --git a/test/image/mocks/contour_constraints_equal_boundary_minmax.json b/test/image/mocks/contour_constraints_equal_boundary_minmax.json
new file mode 100644
index 00000000000..a0073aceb54
--- /dev/null
+++ b/test/image/mocks/contour_constraints_equal_boundary_minmax.json
@@ -0,0 +1,175 @@
+{
+ "data": [
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 0, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [0, 0.9999],
+ "showlabels": true
+ }
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 0, 2, 2, 2, 2]
+ },
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 0, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [0, 1],
+ "showlabels": true
+ },
+ "xaxis": "x2",
+ "yaxis": "y2"
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 0, 2, 2, 2, 2],
+ "xaxis": "x2",
+ "yaxis": "y2"
+ },
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 5, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [0, 0.9999],
+ "showlabels": true
+ },
+ "xaxis": "x3",
+ "yaxis": "y3"
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 5, 2, 2, 2, 2],
+ "xaxis": "x3",
+ "yaxis": "y3"
+ },
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 5, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "[]",
+ "value": [0, 1],
+ "showlabels": true
+ },
+ "xaxis": "x4",
+ "yaxis": "y4"
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 5, 2, 2, 2, 2],
+ "xaxis": "x4",
+ "yaxis": "y4"
+ },
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 0, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "][",
+ "value": [1, 2],
+ "showlabels": true
+ },
+ "xaxis": "x5",
+ "yaxis": "y5"
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 0, 2, 2, 2, 2],
+ "xaxis": "x5",
+ "yaxis": "y5"
+ },
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 0, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "][",
+ "value": [0.999, 2.001],
+ "showlabels": true
+ },
+ "xaxis": "x6",
+ "yaxis": "y6"
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 0, 2, 2, 2, 2],
+ "xaxis": "x6",
+ "yaxis": "y6"
+ },
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 5, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "][",
+ "value": [1, 2],
+ "showlabels": true
+ },
+ "xaxis": "x7",
+ "yaxis": "y7"
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 5, 2, 2, 2, 2],
+ "xaxis": "x7",
+ "yaxis": "y7"
+ },
+ {
+ "type": "contour",
+ "z": [[1, 1, 1], [1, 5, 2], [2, 2, 2]],
+ "contours": {
+ "type": "constraint",
+ "operation": "][",
+ "value": [0.999, 2.001],
+ "showlabels": true
+ },
+ "xaxis": "x8",
+ "yaxis": "y8"
+ },
+ {
+ "mode": "text",
+ "x": [0, 1, 2, 0, 1, 2, 0, 1, 2],
+ "y": [0, 0, 0, 1, 1, 1, 2, 2, 2],
+ "text": [1, 1, 1, 1, 5, 2, 2, 2, 2],
+ "xaxis": "x8",
+ "yaxis": "y8"
+ }
+ ],
+ "layout": {
+ "grid": {"rows": 4, "columns": 2, "pattern": "independent"},
+ "width": 600,
+ "height": 800,
+ "showlegend": false,
+ "title": {"text": "Constraints that (almost) equal boundary min/max"},
+ "yaxis": {"title": {"text": "[0, 0.9999]"}},
+ "yaxis2": {"title": {"text": "[0, 1]"}, "side": "right"},
+ "yaxis3": {"title": {"text": "[0, 0.9999]"}},
+ "yaxis4": {"title": {"text": "[0, 1]"}, "side": "right"},
+ "yaxis5": {"title": {"text": "]1, 2["}},
+ "yaxis6": {"title": {"text": "[0.999, 2.001]"}, "side": "right"},
+ "yaxis7": {"title": {"text": "]1, 2["}},
+ "yaxis8": {"title": {"text": "[0.999, 2.001]"}, "side": "right"}
+ }
+}