constraining axes leads to paper coordinates being off and to extra space between plot area and annotations
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
If I constrain the x-axis, a legend to the right of the plot area shows up too far to the right and paper coordinates x=0 and x=1 are no longer at the edges of the plot area. Paper coordinate x=1 should always be the right edge of the plot area. There should not be excessive trapped white space between the legend and the plot area. The constrained, no-width behavior should be similar to the unconstrained and constrained-with-width behaviors.
Here I reproduce the problem using the documentation example here:
https://plotly.com/python/axes/#fixed-ratio-axes
I'm happy to provide and diff the output JSON if that would be helpful
import plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter(
x = [0,1,1,0,0,1,1,2,2,3,3,2,2,3],
y = [0,0,1,1,3,3,2,2,3,3,1,1,0,0],
name="demo"
))
##Add some elements outside the main plot area
fig.update_layout(
title=dict(text="Source: Plotly Bug Report",
yref="container",
xref="paper",
xanchor="right",
x=1, y=0.005),
showlegend=True
)
#the current layout is reasonable -- the legend is close to the plot area and x=1 in paper coordinates is where we expect it.
fig.show()
#now we constrain the domain and it injects lots of space between the plot area and the legend
#paper coordinates no longer reference the plot area -- paper coordinate x=1 is well to the right of the plot area
fig.update_xaxes(
range=[-1,4], # sets the range of xaxis
constrain="domain", # meanwhile compresses the xaxis by decreasing its "domain"
)
fig.update_yaxes(
scaleanchor = "x",
scaleratio = 1
)
fig.show()
#now we specify the width and the layout becomes reasonable again
fig.update_layout(
width = 800,
)
fig.show()
unconstrained graphic (expected behavior):
constrained graphic (unexpected behavior)
constrained graphic with width (expected behavior)
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 mit dem Beispiel für Achsen mit festem Seitenverhältnis auf der verlinkten Dokumentationsseite und führe die drei im Bericht gezeigten Layout-Varianten aus. Vergleiche das eingeschränkte Ergebnis ohne Breitenangabe mit den Ergebnissen ohne Einschränkung und mit expliziter Breitenangabe; fertig ist es, wenn paper x=1 an der rechten Kante des Plotbereichs ausgerichtet ist und kein übermäßiger Abstand zwischen Plot und Legende oder Annotationen verbleibt.
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