Scattermode=group does not autoscale yaxis
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 18.8k
- Forks
- 2.8k
- Ø Merge
- 16 Std. 26 Min.
- Gemergte PRs (30 T.)
- 21
Beschreibung
I'm plotting some data with a very elaborate box plot series, and attempting to overlay connecting median lines between each box in each series. I can do this successfully, but due the density of information, I need to stagger each x value using boxmode=group and scattermode=group. There are no issues with boxmode, but scattermode causes the lower y min to be set to 0. When scattermode is disabled, everything scales nicely, and when no boxes are drawn, the same issues persists. Using subplots and ensuring shared axes doesn't work, nor does updating axes with autorange.
Code:
`
fig = go.Figure()
point_visibility = point_checked
point_legend = False
box_visibility = True
match box_checked:
case False:
box_visibility = False
point_legend = True
for col in dcr.columns[1:]:
if box_checked:
fig.add_trace(go.Box(
x=dcr['SOC'],
y=dcr[col],
name=col,
legendgroup=col,
visible=box_visibility,
))
if point_checked:
fig.add_trace(go.Scatter(
x=medians['SOC'],
y=medians[col],
name=col,
legendgroup=col,
showlegend=point_legend,
visible=point_visibility,
mode='lines',
))
fig.update_layout(
yaxis_title='DCIR (Ohms)',
xaxis_title='SOC',
boxmode='group',
scattermode='group', # figure out how to align this to the boxes
)
fig.update_yaxes(autorange=True) # has no effect
`
Not scaling:
Disabling scattermode=group (No longer align to boxes):
What it should look like:
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das bereitgestellte Box-and-Scatter-Beispiel in plotly.py zu reproduzieren, und vergleiche die y-Achsen-Autorange mit und ohne scattermode='group'. Verfolge die Einstiegspunkte für die Gruppierung von scattermode und autorange, um zu ermitteln, wo die untere Grenze null wird, füge anschließend einen Regressionstest hinzu, der gruppierte Scatter-Traces mit Box-Traces abdeckt, und überprüfe, dass autorange mit den geplotteten Daten übereinstimmt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- data-visualization
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100