You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem:Boxplot Whiskers can map to different data – sometimes this is +- 1.5 times the interquartil range, sometime the 5th and 95th percentile etc. In the box documentation, it is state that plotly uses the +-1.5 IQR as a standard. It is also stated that the boxpoints option allows other options, but seemingly boxpoints sets the displaying sof catterpoint and not of whiskers.
Proposed Solution: An option for setting what the whiskers mean. Candidates for this option would:
n * IQR (for a +-1.5* the IQR, like the current default)
nth percentiles (for something like a 5%/95% position)
n*sd (for a +- 1 standard deviation position)
Or, if that option(s) already exists, a hint in the docuementation on how to set them.
Reacted by Salim B, Alexander Goscinski, gevra, Diego Scarabelli, Zach Bjornson, Maximilian Stahlberg and Georgios Adzhygai
see also #1953 - one of the options should be max/min (which I guess would count as 0/100th percentile?) - and then rather than the current hard-coded dependence on boxpoints, boxpoints should just affect the default value of this setting.
Any updates on this in 2019? Having the whiskers mean one thing in some graphs (where the boxpoints are visible) and another in others (where the boxpoints are not visible) is somewhat confusing.
Reacted by gevra, cbonilla-catalogue, piercemcl, Janis Jansen, Whiskey Yankee, Diego Scarabelli, David Wise, Maksad Donayorov and Kat
Seems like an old issue but keeps on coming back. I was a bit thrown off when I set boxpoints=False but suddenly my whiskers extended to cover all the outliers and the entire plot changed. This is for plotly.py.
A community PR for this feature would certainly be welcome, but our experience is deeper features like this are difficult to complete without the Plotly maintainers leading the effort.
What Sponsorship includes:
Completion of this feature to the Sponsor's satisfaction, in a manner coherent with the rest of the Plotly.js library and API
Tests for this feature
Long-term support (continued support of this feature in the latest version of Plotly.js)
Hi - this issue has been sitting for a while, so as part of our effort to tidy up our public repositories I'm going to close it. If it's still a concern, we'd be grateful if you could open a new issue (with a short reproducible example if appropriate) so that we can add it to our stack. Cheers - @gvwilson
there isn't, but I'll reopen this one - we're unlikely to get to it any time soon, but we'd be happy to prioritize review of a community PR. thanks - @gvwilson
Activity
etpinard commentedon Feb 24, 2016
Thanks for the very clear description 🍻
You are correct. There is no way to override the box trace whisker metric at the moment.
Adding whiskers option is a great suggestion!
Unfortunately, because of other obligations, no plotly.js team member will dedicate time to this enhancement until at least April 1st.
That said, this issue could be a great way for someone from the community to make a PR. All the action will take place in
src/traces/box/starting by adding a trace attribute insrc/traces/box/attributes.jsthen coercing it in the default stepsrc/traces/box/defaults.jsand finally generalizing the calc step insrc/traces/box/calc.js.jdittrich commentedon Feb 28, 2016
🍻 cheers!
Thanks for pointing out the relevant files. I see what I can do but can't promise that I'm quicker than April the 1st :-)
alanocallaghan commentedon Jun 12, 2017
@etpinard @jdittrich is this still unresolved?
jdittrich commentedon Jun 13, 2017
@alanocallaghan sadly not, I was unable to tackle it.
alexcjohnson commentedon Aug 15, 2017
see also #1953 - one of the options should be max/min (which I guess would count as 0/100th percentile?) - and then rather than the current hard-coded dependence on
boxpoints,boxpointsshould just affect the default value of this setting.FelixZY commentedon May 15, 2019
Any updates on this in 2019? Having the whiskers mean one thing in some graphs (where the boxpoints are visible) and another in others (where the boxpoints are not visible) is somewhat confusing.
diegoscarabelli commentedon Jan 16, 2020
Agreed. Whiskers should correspond to editable percentile. That's how matplotlib does it.
FilipVel commentedon Jul 7, 2020
Any update on this issue?
ahmedhosny commentedon Jul 14, 2020
Seems like an old issue but keeps on coming back. I was a bit thrown off when I set
boxpoints=Falsebut suddenly my whiskers extended to cover all the outliers and the entire plot changed. This is for plotly.py.jackparmer commentedon Sep 10, 2020
This issue has been tagged with
NEEDS SPON$ORA community PR for this feature would certainly be welcome, but our experience is deeper features like this are difficult to complete without the Plotly maintainers leading the effort.
What Sponsorship includes:
Please include the link to this issue when contacting us to discuss.
gvwilson commentedon Jun 5, 2024
Hi - this issue has been sitting for a while, so as part of our effort to tidy up our public repositories I'm going to close it. If it's still a concern, we'd be grateful if you could open a new issue (with a short reproducible example if appropriate) so that we can add it to our stack. Cheers - @gvwilson
rabyj commentedon Apr 24, 2025
Is there any open issue still tracking this feature? This has been bugging me for years, working from the Python side.
For reference, there is a workaround to have the normal IQR whiskers while not having boxpoints shown:
marker: {opacity: 0}gvwilson commentedon Apr 25, 2025
there isn't, but I'll reopen this one - we're unlikely to get to it any time soon, but we'd be happy to prioritize review of a community PR. thanks - @gvwilson