-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Avoid tight daily labels on axes with rangebreaks when using "day of week" pattern #4695
Conversation
@nicolaskruchten thanks very much for posting the image related to the ( old ) undesirable behaviour. |
src/plots/cartesian/axes.js
Outdated
if(ax.dtick === 2 * ONEDAY) ax.dtick = ONEDAY; | ||
else if(ax.dtick === 3 * ONEDAY) ax.dtick = 7 * ONEDAY; | ||
ax.dtick = roundDTick(roughDTick, ONEDAY, [1, 1.001, 7, 14]); | ||
if(ax.dtick !== ONEDAY) ax.dtick = 7 * ONEDAY; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this different from just saying roundDTick(roughDTick, ONEDAY, [1, 7, 14])
? The underlying function is Lib.roundUp
so I'd expect anything too big for 1 would already bump up to 7. Also I think this would convert 2-week ticks into 1-week?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also I think this would convert 2-week ticks into 1-week?
Doog eye. Fixed in 79b6d95.
But we still need to fix something possibly in Lib.dateTick0
to compute dtick
on those reversed
cases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
again though, is this different from just roundDTick(roughDTick, ONEDAY, [1, 7, 14])
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that is different. The issue was almost related to numbers close to 1 (e.g. 2) not those close to 7. Anyway it seems there is no more need for that hacy roundingSet as the logic is changed in the commits below.
@nicolaskruchten would you mind testing the updated demo in the PR description. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💃 sometimes the simple solution is the best 😅
Demo
Follow up of #4614 and #4688:
Commit c340efc exercised 2 -> 7 rounding which leads to following commits.
As a result we only round
dtick
to 1 if it is really close to 1.@plotly/plotly_js