Commit da8895e
miranov25
Phase 13.25.DF FIX2: discrete quantile mode + legend + annotations
P0 design fix: the general case (one line per quantile) was blocked
behind NotImplementedError. Now any quantile list just works.
Changes:
- _detect_quantile_mode() returns 'discrete' for any non-symmetric
list; single values like [0.5] also work
- New _compute_per_bin_all_quantiles() for arbitrary quantile lists
- Discrete rendering: one dashed line per quantile, cycling linestyles
- Legend triggers for discrete quantile mode (was only for group_by)
- On-line annotations: percentage labels placed at ~40% along each line
- quantile_mode='discrete' accepted as explicit override
Auto-detection preserved:
symmetric pair [0.16, 0.84] → error_bars
symmetric triple [0.16, 0.5, 0.84] → band
everything else → discrete (was NotImplementedError)
NOTE: Phase B (Algorithm A) must preserve this behavior as the default
channel assignment for discrete quantiles. Current rendering is the
baseline that Phase B generalizes, not replaces.
Test results: 577 passed, 0 failed1 parent 822acdb commit da8895e
1 file changed
Lines changed: 20 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
555 | 555 | | |
556 | 556 | | |
557 | 557 | | |
558 | | - | |
559 | | - | |
| 558 | + | |
| 559 | + | |
560 | 560 | | |
561 | 561 | | |
562 | 562 | | |
563 | 563 | | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
564 | 578 | | |
565 | 579 | | |
566 | 580 | | |
| |||
604 | 618 | | |
605 | 619 | | |
606 | 620 | | |
607 | | - | |
| 621 | + | |
608 | 622 | | |
609 | 623 | | |
610 | 624 | | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
611 | 628 | | |
612 | 629 | | |
613 | 630 | | |
| |||
0 commit comments