plotly / plotly/plotly.py

px.timeline Incorrectly interprets x_end datetimes

Aberta
#3,473 5 comentários 2 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

bug P3
Linguagem predominante
Python
Estrelas
18.8k
Forks
2.8k
Merge médio
16h 26min
PRs com merge (30d)
21

Descrição

The px.timeline function incorrectly generates the end times of the bar traces. The end times are placed before the start times.

Python version 3.8.6
Plotly version 5.4

Steps to reproduce:

import datetime
import plotly.express as px
t0 = datetime.datetime.now()
tf = t0 + datetime.timedelta(hours=1)
px.timeline(x_start=[t0], x_end=[tf])

print(t0)
print(tf)

Produces

2021-11-16 12:21:14.800827  # t0
2021-11-16 13:21:14.800827  # tf

The resulting figure is below. Notice that the right edge of the bar is the same as the start time, but the left edge of the bar is something else entirely.
px_timeline_error

The behavior is the same when passing a dataframe and column names. If you generate a scatter plot using the same datetime objects, the output works as expected (shown below).

correct_scatter

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece no ponto de entrada px.timeline e reproduza o problema com os valores datetime mostrados no relatório, comparando as coordenadas de seu trace de barras com um gráfico de dispersão que use os mesmos valores. Rastreie como x_start e x_end são convertidos na figura e, em seguida, verifique se a barra gerada tem os horários de início e fim esperados e se o caso dataframe-and-column-names também se comporta corretamente.

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
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.