From 0f136e51251e9d21731fefc952229dfeaf6524ef Mon Sep 17 00:00:00 2001 From: Farkites Date: Thu, 1 Feb 2024 11:13:51 +0000 Subject: [PATCH 1/5] Add tickson_boundaries_showgrid_categorical test --- ...ckson_boundaries_showgrid_categorical.json | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 test/image/mocks/tickson_boundaries_showgrid_categorical.json diff --git a/test/image/mocks/tickson_boundaries_showgrid_categorical.json b/test/image/mocks/tickson_boundaries_showgrid_categorical.json new file mode 100644 index 00000000000..5812b077d7e --- /dev/null +++ b/test/image/mocks/tickson_boundaries_showgrid_categorical.json @@ -0,0 +1,20 @@ +{ + "data": [ + { + "type": "bar", + "y": [1, 2, 3, 4, 5], + "x": ["a", "b", "c", "d", "e"] + } + ], + "layout": { + "width": 600, + "height": 300, + "xaxis": { + "tickmode": "array", + "tickvals": [0,2,4], + "ticktext": ["One", "Three", "Five"], + "tickson": "boundaries", + "showgrid": true + } + } +} From 00b30c35ea85959e9272c73d87bed475ad21952b Mon Sep 17 00:00:00 2001 From: Farkites Date: Thu, 1 Feb 2024 11:20:42 +0000 Subject: [PATCH 2/5] Avoid checking xbnd when not defined --- src/plots/cartesian/axes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index ddd11e7b403..8c0c2094a22 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -2807,7 +2807,7 @@ function getBoundaryVals(ax, vals) { // boundaryVals are never used for labels; // no need to worry about the other tickTextObj keys var _push = function(d, bndIndex) { - var xb = d.xbnd[bndIndex]; + var xb = d.xbnd ? d.xbnd[bndIndex] : d.x; if(xb !== null) { out.push(Lib.extendFlat({}, d, {x: xb})); } @@ -3755,7 +3755,7 @@ axes.drawLabels = function(gd, ax, opts) { // TODO should secondary labels also fall into this fix-overlap regime? for(i = 0; i < lbbArray.length; i++) { - var xbnd = vals[i].xbnd; + var xbnd = (vals && vals[i].xbnd) ? vals[i].xbnd : [null, null]; var lbb = lbbArray[i]; if( (xbnd[0] !== null && (lbb.left - ax.l2p(xbnd[0])) < gap) || From cdd8853bd2b2d9f90a0a90fde49cff930460ead5 Mon Sep 17 00:00:00 2001 From: Farkites Date: Thu, 1 Feb 2024 12:24:45 +0000 Subject: [PATCH 3/5] Add tickson_boundaries_showgrid_categorical baseline --- .../tickson_boundaries_showgrid_categorical.png | Bin 0 -> 8707 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/image/baselines/tickson_boundaries_showgrid_categorical.png diff --git a/test/image/baselines/tickson_boundaries_showgrid_categorical.png b/test/image/baselines/tickson_boundaries_showgrid_categorical.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4fb1d90df5dc435f358ec241ab6aaeebe15328 GIT binary patch literal 8707 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 VOyH){z{ee+v!`s#%TBsQ{R;*~@6iAN literal 0 HcmV?d00001 From c889e6e07b74a1c1a8fd4f9d1c5932994a067f92 Mon Sep 17 00:00:00 2001 From: Farkites Date: Tue, 6 Feb 2024 10:18:18 +0000 Subject: [PATCH 4/5] Add zz- before new mock filename --- ... zz-tickson_boundaries_showgrid_categorical.png} | Bin ...zz-tickson_boundaries_showgrid_categorical.json} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename test/image/baselines/{tickson_boundaries_showgrid_categorical.png => zz-tickson_boundaries_showgrid_categorical.png} (100%) rename test/image/mocks/{tickson_boundaries_showgrid_categorical.json => zz-tickson_boundaries_showgrid_categorical.json} (100%) diff --git a/test/image/baselines/tickson_boundaries_showgrid_categorical.png b/test/image/baselines/zz-tickson_boundaries_showgrid_categorical.png similarity index 100% rename from test/image/baselines/tickson_boundaries_showgrid_categorical.png rename to test/image/baselines/zz-tickson_boundaries_showgrid_categorical.png diff --git a/test/image/mocks/tickson_boundaries_showgrid_categorical.json b/test/image/mocks/zz-tickson_boundaries_showgrid_categorical.json similarity index 100% rename from test/image/mocks/tickson_boundaries_showgrid_categorical.json rename to test/image/mocks/zz-tickson_boundaries_showgrid_categorical.json From e94f91afbe8478769da190527547aef628b0f8d1 Mon Sep 17 00:00:00 2001 From: Farkites Date: Tue, 6 Feb 2024 12:32:05 +0000 Subject: [PATCH 5/5] Add draftlog --- draftlogs/6885_change.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 draftlogs/6885_change.md diff --git a/draftlogs/6885_change.md b/draftlogs/6885_change.md new file mode 100644 index 00000000000..cb9ee3dd457 --- /dev/null +++ b/draftlogs/6885_change.md @@ -0,0 +1 @@ +- Fix bug where plots with axis `type='categorical'`, `tickson = "boundaries"` and `showgrid=true` wouldn't load, see [plotly.py # 3155](https://github.com/plotly/plotly.py/issues/3155). This feature was anonymously sponsored: thank you to our sponsor! \ No newline at end of file