-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
axes limits (in old "round_numbers" mode) affected by floating point issues #5767
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
Comments
Yes -- I think fixing anything that comes from floating-point representation inaccuracies like this is fair game. |
OK, I think I got this fixed but of course this breaks a ton of image comparison tests (because axes limits got tighter) and I had never managed to run the test suite successfully locally (even setting |
There was, but that's currently not working because I lost access to the AWS account they went to. I'm working on it, but it will be a few days... Maybe we could work on why the tests are failing for you? I assume you've read this and installed all the dependencies etc? What platform are you on? EDIT: I'm happy to meet you on gitter.im to work through getting the test suite to work for you... |
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Note that this requires working around a bug in numpy's implementation of divmod (numpy/numpy#6127). Many test images have changed! See matplotlib#5767.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Note that this requires working around a bug in numpy's implementation of divmod (numpy/numpy#6127). Many test images have changed! See matplotlib#5767. Probably also wraps up work on matplotlib#5738, but tests are missing.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Note that this requires working around a bug in numpy's implementation of divmod (numpy/numpy#6127). Many test images have changed! See matplotlib#5767. Probably also wraps up work on matplotlib#5738, but tests are missing.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Note that this requires working around a bug in numpy's implementation of divmod (numpy/numpy#6127). Many test images have changed! See matplotlib#5767. Also some more progress on matplotlib#5738.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Support for the (unused and deprecated-in-comment) "trim" keyword argument has been dropped as the way ticks are picked has changed. Many test images have changed! Implementation notes: - A bug in numpy's implementation of divmod (numpy/numpy#6127) is worked around. - The implementation of scale_range has also been cleaned. See matplotlib#5767, matplotlib#5738.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Support for the (unused and deprecated-in-comment) "trim" keyword argument has been dropped as the way ticks are picked has changed. Many test images have changed! Implementation notes: - A bug in numpy's implementation of divmod (numpy/numpy#6127) is worked around. - The implementation of scale_range has also been cleaned. See matplotlib#5767, matplotlib#5738.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Support for the (unused and deprecated-in-comment) "trim" keyword argument has been dropped as the way ticks are picked has changed. Many test images have changed! Implementation notes: - A bug in numpy's implementation of divmod (numpy/numpy#6127) is worked around. - The implementation of scale_range has also been cleaned. See matplotlib#5767, matplotlib#5738.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Support for the (unused and deprecated-in-comment) "trim" keyword argument has been dropped as the way ticks are picked has changed. Many test images have changed! Implementation notes: - A bug in numpy's implementation of divmod (numpy/numpy#6127) is worked around. - The implementation of scale_range has also been cleaned. See matplotlib#5767, matplotlib#5738.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Support for the (unused and deprecated-in-comment) "trim" keyword argument has been dropped as the way ticks are picked has changed. Many test images have changed! Implementation notes: - A bug in numpy's implementation of divmod (numpy/numpy#6127) is worked around. - The implementation of scale_range has also been cleaned. See matplotlib#5767, matplotlib#5738.
plt.plot([-.1, .2]) used to pick (in round numbers mode) [-.1, .25] as ylims due to floating point inaccuracies; change it to pick [-.1, .2] (up to floating point inaccuracies). Support for the (unused and deprecated-in-comment) "trim" keyword argument has been dropped as the way ticks are picked has changed. Many test images have changed! Implementation notes: - A bug in numpy's implementation of divmod (numpy/numpy#6127) is worked around. - The implementation of scale_range has also been cleaned. See matplotlib#5767, matplotlib#5738.
Closed by #6192. |
Compare
Note how the upper ylim changes from 0.2 to 0.25. This behavior is even tested (indirectly) by
test_axes:test_vline_limit
. I intend to change this behavior in my work on #5738/#5755 so that the upper limit is actually 0.2 in both cases (basically relying onmatplotlib.ticker.Base
, which has been written exactly to handle this).Thoughts?
The text was updated successfully, but these errors were encountered: