Open u3Izx9ql7vW4 opened 3 years ago
Any update on this? it seems the problem still exists.
I'm having trouble loading the pickle file... can someone provide a simple reproducible example of this please?
AAPL_1H.zip Here is a pickle file, I just tried with the code above and it seems okay. However, i was seeing the described behavior above yesterday. Let me reproduce and provide an example.
`import pandas as pd import plotly.graph_objects as go
df = pd.read_pickle('AAPL_1H.pkl')
fig = go.Figure(data=[go.Candlestick(x=df.index, open=df['open'], high=df['high'], low=df['low'], close=df['close'])])
fig.update_xaxes( rangebreaks=[ dict(bounds=[15, 9], pattern="hour"),
_**dict(values=["2021-06-03"])**_
]
) fig.show()`
So it seems the problem appears to be when passing the dates list, and if the date falls within the x range. @nicolaskruchten
@fjafferi Thanks for the zipfile but the problem is that I can't unpickle it :) Can you send me a CSV please?
OK, I found the time to get this file parsed. With Plotly.py 5.1 (powered by Plotly.js 2.2) I'm not seeing this behaviour any more:
Ah but when uncomment the weekend exclusion I do see a problem:
I've logged the issue in the underlying Javascript library as https://github.com/plotly/plotly.js/issues/5783
I had the exact same problem and fixed it in the following way: I changed the order of the arguments that I passed to the function such as in the following example: fig.update_xaxes( rangebreaks=[ dict(values=["2022-12-25"]), # hide holidays (Christmas and New Year's, etc) dict(bounds=["sat", "mon"]), # hide weekends, eg. hide sat to before mon dict(bounds=[18, 6], pattern="hour") # hide hours outside of 6pm-6am ] )
I am having similar issue as well. For me the issue is when the holiday and weekend are in consecutive order.
There's two cases:
It seems the reordering of the rangebreaks arguments fixes them but only conditionally.
For example for case 1: The following order works:
dict(values=["2023-05-29"]), # hide holiday that is Monday
dict(bounds=["sat", "mon"]), # hide weekends
and the following causes a bug and shows y-value overlaps:
dict(bounds=["sat", "mon"]), # hide weekends
dict(values=["2023-05-29"]), # hide holiday that is Monday
This occurs reversely for case 2: The following order works:
dict(bounds=["sat", "mon"]), # hide weekends
dict(values=["2023-04-07"]), # hide holiday that is Friday
and the following causes a bug and shows y-value overlaps:
dict(values=["2023-04-07"]), # hide holiday that is Friday
dict(bounds=["sat", "mon"]), # hide weekends
hi @jinseo99 Thanks for reporting. This seems related to the plotly.js #5783 issue
I've updated the priority of that bug.
picture of behavior: https://imgur.com/a/oSBgqvp
I believe the same issue is experienced by another user here: https://community.plotly.com/t/rangebreaks-with-bounds-and-values-show-overlapping-candlesticks/46067
code to reproduce this: (example.pkl can be found on https://repl.it/join/pdmlylnv-angstscheisse )