mixed graph and table subplots break when hline or vline are added
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
Describe your context
Python 3.8
Dash 2.0
Plotly 5.3.1
- replace the result of
pip list | grep dashbelow
dash 2.0.0
dash-core-components 2.0.0
dash-html-components 2.0.0
dash-table 5.0.0
Take a 5 x 3 subplot layout as follows:
fig = make_subplots(rows=5, cols=3,
specs=[[{'secondary_y': True}, {'secondary_y': False}, {'type': 'table'}],
[{'secondary_y': False}, {'secondary_y': False}, {'secondary_y': False}],
[{'secondary_y': False}, {'secondary_y': False}, {'secondary_y': False}],
[{'secondary_y': False}, {'secondary_y': False}, {'secondary_y': False}],
[{'secondary_y': False}, {'secondary_y': False}, {'secondary_y': False}]],
shared_xaxes=True, shared_yaxes=True,
vertical_spacing=0.01, horizontal_spacing=0,
row_heights=[0.775, 0.15, 0.025, 0.025, 0.025], column_widths=[0.8, 0.1, 0.1])
We add subplots as follows:
fig.add_trace(go.Scatter(x= ... row=1, col=1)
fig.add_trace(go.Scatter(x= ... row=1, col=2)
fig.add_trace(go.Scatter(x= ... row=2, col=1)
fig.add_trace(go.Scatter(x= ... row=3, col=1)
fig.add_trace(go.Scatter(x= ... row=4, col=1)
fig.add_trace(go.Scatter(x= ... row=5, col=1)
At position row=1 col=3 we place a table.
fig.add_trace(go.Table(header=dict(line=dict(color='red'),
fill=dict(color='red')),
cells=dict(values=[df.A, df.B])),
row=1, col=3)
This all works fine. But when we add an hline or vline to the top left graph...
fig.add_vline(x=42, line_width=1, line_dash='dot', line_color='rgba(255, 165, 0, 0.3)', row=1, col=1)
Plotly throws an error:
_plotly_utils.exceptions.PlotlyKeyError: Invalid property specified for object of type plotly.graph_objs.Table: 'xaxis'
Did you mean "cells"?
This happens regardless of line orientation (h or v), or if the lines are limited to a single row and col or spanning all cols.
Posting in in case this may be a bug.
Posted also on StackOverflow, where Rob Raymond prepared a working example and also a workaround for this issue.
See here:
https://stackoverflow.com/questions/69498665/why-do-plotly-dash-mixed-graph-and-table-subplots-break-when-hline-or-vline-ar/69507165#69507165
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
Reproduziere das 5 x 3 gemischte Graph-und-Table-Layout aus dem Issue, füge anschließend den gezeigten fig.add_vline-Aufruf hinzu und vergleiche ihn mit dem funktionierenden Fall. Beginne damit, make_subplots und die Behandlung von hline/vline im Umfeld von Table-Subplots nachzuverfolgen. Erledigt ist die Aufgabe, wenn sowohl hline als auch vline für Graph-Subplots gerendert werden, ohne einen PlotlyKeyError für den Table-Trace auszulösen.
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