diff --git a/src/legends.js b/src/legends.js index 64215ebaf3..612795c977 100644 --- a/src/legends.js +++ b/src/legends.js @@ -50,6 +50,7 @@ function legendColor(color, {legend = true, ...options}) { case "swatches": return legendSwatches(color, options); case "ramp": + if (color.domain.length < 2) return; return legendRamp(color, options); default: throw new Error(`unknown legend type: ${legend}`); diff --git a/test/legend-test.js b/test/legend-test.js index f66aa45c2a..7e03740e97 100644 --- a/test/legend-test.js +++ b/test/legend-test.js @@ -6,6 +6,11 @@ it(`Plot.legend({color: {type: "identity"}}) returns undefined`, () => { assert.strictEqual(Plot.legend({color: {type: "identity"}}), undefined); }); +it(`Plot.legend({color: {domain: [x?]}}) returns undefined`, () => { + assert.strictEqual(Plot.legend({color: {domain: []}}), undefined); + assert.strictEqual(Plot.legend({color: {domain: [1]}}), undefined); +}); + it(`Plot.legend({legend: "swatches", color: {type: ""}}) throws an error`, () => { assert.throws(() => Plot.legend({legend: "swatches", color: {type: "linear"}}), /swatches legend requires ordinal/); assert.throws(() => Plot.legend({legend: "swatches", color: {type: "linear"}}), /\(not linear\)/);