Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Multicategory Multilevel 2+ & Sorting Multicategory by richardnm-2 · Pull Request #6327 · plotly/plotly.js · GitHub
Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Multicategory Multilevel 2+ & Sorting Multicategory by richardnm-2 · Pull Request #6327 · plotly/plotly.js · GitHub
Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Multicategory Multilevel 2+ & Sorting Multicategory by richardnm-2 · Pull Request #6327 · plotly/plotly.js · GitHub
Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Multicategory Multilevel 2+ & Sorting Multicategory by richardnm-2 · Pull Request #6327 · plotly/plotly.js · GitHub
Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Multicategory Multilevel 2+ & Sorting Multicategory by richardnm-2 · Pull Request #6327 · plotly/plotly.js · GitHub
Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Multicategory Multilevel 2+ & Sorting Multicategory by richardnm-2 · Pull Request #6327 · plotly/plotly.js · GitHub
Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Multicategory Multilevel 2+ & Sorting Multicategory by richardnm-2 · Pull Request #6327 · plotly/plotly.js · GitHub
Skip to content

Multicategory Multilevel 2+ & Sorting Multicategory - #6327

Open
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR
Open

Multicategory Multilevel 2+ & Sorting Multicategory#6327
richardnm-2 wants to merge 62 commits into
plotly:mainfrom
richardnm-2:PR

Conversation

@richardnm-2

@richardnm-2richardnm-2 commented Sep 27, 2022

Copy link
Copy Markdown

update: see #6966 (?)

closes#2175
closes#3723

#2175 requests for a multicategory multilevel (2+). This is great for data visualization on, as mentioned, "Variability Charts".

In order to expand the capabilities of multicategory axis type, the list structure previously implemented has been changed at set_convert.jsax.setupMultiCategory(), adding a new file to src/lib -> sort_traces.js. Working with the traces as a list of objects instead, to try to provide the same data structure to setCategoryIndex() seemed easier. Sorting is performed reversed, in order to achieve a stable sorting. I don't know about the implementation, but the result is the same as if sorted backwards in pandas (Python), or an Excel table.

The capabilities upgrade was then achieved, and the other changes were to make tha axis draw the new data shape, as pushing multiple functions to seq, in a loop, to account for every level. Also, category indexes had to be updated to comply with the new data shape.

The categorical data on the axis was drawn accordingly, but the sorting issue, #3723 showed that this was a known problem. Testing showed that providing the data already sorted to the newPlot function outputed the desired result. So, as the trace levels were already beein looped inside ax.setupMultiCategory(), and the object list was easyly sortable, before transforming it to a matrix again, it made sense to also update gd._fullData with the sorted data. The place to do so may not be the best and some thought can be given to that.

@zupdaz

zupdaz commented Jun 28, 2023

Copy link
Copy Markdown

@richardnm-2 It's fantastic to see your efforts to improve the current handling of multicategory axes. Currently, when a category lacks data points, it can significantly disrupt the visualization integrity. Also, having more than 2 levels is a must for most of modern data analysis. Is this feature still being worked on at the moment?

@PhilippaTreacy

Copy link
Copy Markdown

Is this close to merging? Would be a great feature to have.

@DianYing123

DianYing123 commented Jan 24, 2024

Copy link
Copy Markdown

@richardnm-2 May I inquire about the approach you used to resolve this issue in plotly.py?

@alon-aviv-ni

Copy link
Copy Markdown

Hi, is this PR still in progress? Looking forward for this functionality to be introduced in the library.

@wowoxiapqi

Copy link
Copy Markdown

I really hope this feature will be ok

@gvwilsongvwilson assigned gvwilson and unassigned gvwilsonJul 26, 2024
@gvwilsongvwilson mentioned this pull request Aug 8, 2024
@gvwilsongvwilson added the feature something new label Aug 8, 2024
@gvwilsongvwilson changed the title #2175 & #3723 - Multicategory Multilevel 2+ & Sorting MulticategoryMulticategory Multilevel 2+ & Sorting MulticategoryAug 8, 2024
@gvwilsongvwilson added P3 backlog community community contribution labels Aug 8, 2024
@lucasrea1998

Copy link
Copy Markdown

What's the status on this PR, looking forward to this being implemented.

@gvwilson

Copy link
Copy Markdown
Contributor

hi @lucasrea1998 we are currently trying to get a major release out the door and will circle back to re-prioritize backlog once that's done - hopefully mid-November. Thanks - @gvwilson

@dmitrii-erkin

Copy link
Copy Markdown

Hello. Do you have any update regarding this PR, please? Thank you.

@gvwilsongvwilson self-assigned this Nov 21, 2024
@gvwilsongvwilson added the cs customer success label Nov 21, 2024
@Pfizer-BradleyBare

Pfizer-BradleyBare commented Feb 27, 2025

Copy link
Copy Markdown

I'm super excited to see this almost complete. Will this be merged soon?

@gvwilson

Copy link
Copy Markdown
Contributor

@Pfizer-BradleyBare unfortunately I don't have a timeline for getting this reviewed and merged :-(

@1071157808

Copy link
Copy Markdown

Urgently needed. I hope to see this function as soon as possible

@camdecoster

Copy link
Copy Markdown
Contributor

This PR is a bit out of date at this point, so it will likely take some massaging to get into a reviewable state. If anyone wants to work on it or use it as a base for creating a new PR, our team can prioritize a review.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

communitycommunity contributioncscustomer successfeaturesomething newP3backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-category sorting misbehaves with missing categories Extend multicategory axes to more than 2 levels

14 participants

@richardnm-2@alexcjohnson@AndreasUntch@zupdaz@PhilippaTreacy@DianYing123@alon-aviv-ni@wowoxiapqi@lucasrea1998@gvwilson@dmitrii-erkin@Pfizer-BradleyBare@1071157808@camdecoster