Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Added test_loglog in test_datetime.py #27435

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dchen2438
Copy link

@dchen2438 dchen2438 commented Dec 4, 2023

PR summary

Added the test_loglog method in test_datetime.py
This PR is for Axes.loglog in #26864

image

PR checklist

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for opening your first PR into Matplotlib!

If you have not heard from us in a week or so, please leave a new comment below and that should bring it to our attention. Most of our reviewers are volunteers and sometimes things fall through the cracks.

You can also join us on gitter for real-time discussion.

For details on testing, writing docs, and our review process, please see the developer guide

We strive to be a welcoming and open project. Please follow our Code of Conduct.

@ksunden
Copy link
Member

ksunden commented Dec 4, 2023

I will reassert my comment from the semilog version of this (#27320):

Yes, log/semilog/etc axes with datetimes do not make much sense, as they are based on the 1970-01-01 zero mark for computing the scale, and so you are rarely working on multiple orders of magnitude where log scaling makes sense (and even when you are, the zero mark is completely arbitrary and unlikely to be related to your data).

Given that the implementation of semilog[xy] is really just some kwarg management over set_[xy]scale plus plot, the latter of which is already tested with datetimes and the former of which is tested pretty thoroughly independently, I think my vote would be to just omit the tests from the datetime file.

If we were to keep it (which, again, I'd argue we likely don't), just to prove that nothing about units prevents it from being applied, this is actually the case where using dates closer to 1970 (and spanning several decades, most likely) is likely beneficial, as it would make the scale transform visually apparent.

@jklymak
Copy link
Member

jklymak commented Dec 4, 2023

mpl.rcParams["date.converter"] = 'concise'
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, layout='constrained')
x = np.arange(np.datetime64('2015-12-01'), np.datetime64('2023-12-06'))
y = 10 ** np.linspace(0, 4, len(x))
ax1.loglog(x, y)
ax2.loglog(y, x)
ax3.loglog(x, x)

As @ksunden points out, this is hardly great for larger time spans, with minor ticks being mislabeled.

boo

OTOH, it doesn't spit out an error message, so maybe thats OK for the purposes of these smoke tests?

@dchen2438
Copy link
Author

I updated the PR to have wider date range input

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs review
Development

Successfully merging this pull request may close these issues.

5 participants