-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
plot with unsorted indices misses data points #11471
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
Are you reporting a different issue from stackoverflow? The difference seems to be caused by
PR is welcome. |
I removed SO question, it is completely unrelated after more detailed reading. |
Another example with real data, gist contains a short notebook and the data. @sinhrks can you point me towards where |
@yoavram I believe the issue is somewhere around here pandas/pandas/tools/plotting.py Line 3569 in c112252
That seems to assume |
I'll have a go at it, but I wonder how to test it - get the data from the aces and check that xlim contains the data range ? |
Maybe just to 2 plots, one sorted and the other not, and assert that they have the same xlim? That may work.
…________________________________
From: Yoav Ram <[email protected]>
Sent: Thursday, April 6, 2017 11:03:00 PM
To: pandas-dev/pandas
Cc: Tom Augspurger; Mention
Subject: Re: [pandas-dev/pandas] plot with unsorted indices misses data points (#11471)
I'll have a go at it, but I wonder how to test it - get the data from the aces and check that xlim contains the data range ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#11471 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/ABQHIrPRMYnqszN_4hKh6dsRmw08Voadks5rtbV0gaJpZM4GYNzS>.
|
* Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead.
* Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead.
* Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead.
* Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead.
* Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead.
* Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead.
* BUG: set correct xlims for lines (#11471, #11310) * Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead. * BUG: Let new MPL automatically determine xlims (#15495) * Avoid setting xlims since recent matplotlib already does it correctly * and we should let it apply its default styles where possible * TST: plotting: update expected results for matplotlib 2 Matplotlib 2.0 uses new defaults that cause some of our tests to fail. This adds appropriate new sets of expected results to the following tests in tests/plotting/test_datetimelike.py: test_finder_daily test_finder_quarterly test_finder_annual test_finder_hourly test_finder_minutely test_finder_monthly test_format_timedelta_ticks_narrow test_format_timedelta_ticks_wide * TST: plotting: Relax some tests to work with matplotlib 2.0 Matplotlib 2.0 by default now adds some padding between the boundaries of the data and the boundaries of the plot. This causes some of our tests to fail if we don't relax them slightly. modified: pandas/tests/plotting/test_datetimelike.py test_irregular_ts_shared_ax_xlim test_mixed_freq_regular_first test_mixed_freq_regular_first_df test_secondary_y_irregular_ts_xlim test_secondary_y_non_ts_xlim test_secondary_y_regular_ts_xlim modified: pandas/tests/plotting/test_frame.py test_area_lim test_line_lim modified: pandas/tests/plotting/test_series.py test_ts_area_lim test_ts_line_lim * TST: Add lineplot tests with unsorted x data Two new tests check interaction of non-monotonic x data and xlims: test_frame / test_unsorted_index_lims test_series / test_unsorted_index_xlim * DOC: lineplot/xlims whatsnew entry for v0.21.0
Closed by #16600 |
* BUG: set correct xlims for lines (pandas-dev#11471, pandas-dev#11310) * Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead. * BUG: Let new MPL automatically determine xlims (pandas-dev#15495) * Avoid setting xlims since recent matplotlib already does it correctly * and we should let it apply its default styles where possible * TST: plotting: update expected results for matplotlib 2 Matplotlib 2.0 uses new defaults that cause some of our tests to fail. This adds appropriate new sets of expected results to the following tests in tests/plotting/test_datetimelike.py: test_finder_daily test_finder_quarterly test_finder_annual test_finder_hourly test_finder_minutely test_finder_monthly test_format_timedelta_ticks_narrow test_format_timedelta_ticks_wide * TST: plotting: Relax some tests to work with matplotlib 2.0 Matplotlib 2.0 by default now adds some padding between the boundaries of the data and the boundaries of the plot. This causes some of our tests to fail if we don't relax them slightly. modified: pandas/tests/plotting/test_datetimelike.py test_irregular_ts_shared_ax_xlim test_mixed_freq_regular_first test_mixed_freq_regular_first_df test_secondary_y_irregular_ts_xlim test_secondary_y_non_ts_xlim test_secondary_y_regular_ts_xlim modified: pandas/tests/plotting/test_frame.py test_area_lim test_line_lim modified: pandas/tests/plotting/test_series.py test_ts_area_lim test_ts_line_lim * TST: Add lineplot tests with unsorted x data Two new tests check interaction of non-monotonic x data and xlims: test_frame / test_unsorted_index_lims test_series / test_unsorted_index_xlim * DOC: lineplot/xlims whatsnew entry for v0.21.0
* BUG: set correct xlims for lines (pandas-dev#11471, pandas-dev#11310) * Do not assume that xdata is sorted. * Use numpy.nanmin() and numpy.nanmax() instead. * BUG: Let new MPL automatically determine xlims (pandas-dev#15495) * Avoid setting xlims since recent matplotlib already does it correctly * and we should let it apply its default styles where possible * TST: plotting: update expected results for matplotlib 2 Matplotlib 2.0 uses new defaults that cause some of our tests to fail. This adds appropriate new sets of expected results to the following tests in tests/plotting/test_datetimelike.py: test_finder_daily test_finder_quarterly test_finder_annual test_finder_hourly test_finder_minutely test_finder_monthly test_format_timedelta_ticks_narrow test_format_timedelta_ticks_wide * TST: plotting: Relax some tests to work with matplotlib 2.0 Matplotlib 2.0 by default now adds some padding between the boundaries of the data and the boundaries of the plot. This causes some of our tests to fail if we don't relax them slightly. modified: pandas/tests/plotting/test_datetimelike.py test_irregular_ts_shared_ax_xlim test_mixed_freq_regular_first test_mixed_freq_regular_first_df test_secondary_y_irregular_ts_xlim test_secondary_y_non_ts_xlim test_secondary_y_regular_ts_xlim modified: pandas/tests/plotting/test_frame.py test_area_lim test_line_lim modified: pandas/tests/plotting/test_series.py test_ts_area_lim test_ts_line_lim * TST: Add lineplot tests with unsorted x data Two new tests check interaction of non-monotonic x data and xlims: test_frame / test_unsorted_index_lims test_series / test_unsorted_index_xlim * DOC: lineplot/xlims whatsnew entry for v0.21.0
Just want to confirm that the problem in above cited gist is fixed with pandas 0.22. |
Compare these 2 plots below, this is not expected behavior:
The text was updated successfully, but these errors were encountered: