Sided twin violins render boxplot whiskers incorrectly
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- python
- Domain
- data-visualization
Research direction
No source file or test is named. Start by reproducing the sided-violin example from the Advanced Violin Plot with box=dict(visible=True), then compare it with a normal violin and Plotly 6.1.2 while tracing the rendering path for split boxes. Done means the whiskers are centered correctly for each half without regressing normal violins.
Written by the indexing model from the issue text.
Description
Plotly version: 6.3.0
Follow-up to #1634 (never resolved).
When using sided (split) violins with box=dict(visible=True), the boxplot whiskers are drawn at the inner edge of each half-box, rather than being centered as in a normal boxplot.
This makes the left and right whiskers appear extremely close together, which creates significant visual confusion.
Example from #1634 (Advanced Violin Plot example with box=dict(visible=True)):
My reproduction:
Normal (non-sided) violins for comparison:
Plotly 6.1.2 (in my work):
Possible cause:
The boxplots may be internally split in half to fit each half-violin, shifting the “center” used for whisker rendering to the midpoint between the halves.
Possible solutions:
- Preferred: Render each half-boxplot with whiskers centered over its own half-violin.
- Alternative: Allow configurable spacing between the halves to reduce whisker overlap.
- Dominant language
- Python
- Stars
- 18.8k
- Forks
- 2.8k
- Avg merge
- 16h 26m
- Merged PRs (30d)
- 21
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from plotly/plotly.py
-
P3 size: 1 task
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
bug P1
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
feature P3
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
feature P3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
All issues in plotly/plotly.py
Similar issues
-
Add: hunch Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
DiamondLightSource/dodal#2211 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
openml/openml-python#1749 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
sipyourdrink-ltd/bernstein#6191 ·