constraining axes leads to paper coordinates being off and to extra space between plot area and annotations
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 18.8k
- Forks
- 2.8k
- Merge médio
- 16h 26min
- PRs com merge (30d)
- 21
Descrição
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)
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece pelo exemplo de eixos com proporção fixa na página de documentação vinculada e execute as três variantes de layout mostradas no relatório. Compare o resultado restrito sem largura com os resultados sem restrição e com largura explícita; considera-se concluído quando paper x=1 estiver alinhado à borda direita da área do gráfico e não houver espaço excessivo entre o gráfico e a legenda ou as anotações.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- data-visualization
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100