Skip to content

Bar plot hover shows incorrect bar length when base is used #4713

Open
@LarsDammannCoherent

Description

@LarsDammannCoherent

Hello,

I tried making something like a Gantt chart and use the Bar plot type for that. It seems the hover effect is mixing up the columns somehow. Here is a minimal reproduction:

import pandas as pd
import plotly.express as px

gantt = []
gantt.append(dict(Begin=0, End=1, Word='Foo'))
gantt.append(dict(Begin=2, End=5, Word='Bar'))
gantt_df = pd.DataFrame(gantt)
gantt_df['Duration'] = (gantt_df['End'] - gantt_df['Begin'])

fig = px.bar(gantt_df, base="Begin", y="Duration", x="Word")
fig.show()

Here is the result:
image

Things of note:

  • The position and size of the bars is correct
  • The "Begin" annotation in the hover is correct
  • The "Duration" annotation shows the value of the "End" column, which is not correct. I would expect "End=5" or "Duration=3" but not "Duration=5"

Examining the pandas dataframe itself shows that the data itself is correct:
image

This is my version according to conda:
plotly 5.23.0 pyhd8ed1ab_0 conda-forge

Thank you for providing this great library for free and I hope that you find my report helpful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3backlogbugsomething broken

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions