-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
ENH: Minor change to parallel_coordinates (#15908) #15935
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #15935 +/- ##
==========================================
+ Coverage 91% 91.08% +0.07%
==========================================
Files 145 145
Lines 49581 49642 +61
==========================================
+ Hits 45123 45217 +94
+ Misses 4458 4425 -33
Continue to review full report at Codecov.
|
pandas/tests/plotting/test_misc.py
Outdated
@@ -241,6 +241,22 @@ def test_parallel_coordinates(self): | |||
with tm.assert_produces_warning(FutureWarning): | |||
parallel_coordinates(df, 'Name', colors=colors) | |||
|
|||
df = DataFrame({"feat": [i for i in range(30)], |
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.
make this a separate named test
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.
add the issue number as a comment
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.
Done
pandas/tools/plotting.py
Outdated
@@ -718,6 +719,8 @@ def parallel_coordinates(frame, class_column, cols=None, ax=None, color=None, | |||
If true, vertical lines will be added at each xtick | |||
axvlines_kwds: keywords, optional | |||
Options to be passed to axvline method for vertical lines | |||
sort_labels: bool, optional | |||
Sort class_column labels, useful when assigning colours |
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.
add a versionadded tag here, add the default (False) instead of optional
pls add a whatsnew entry, in Other Enhancements. |
@stangirala could you rebase and push one more time? Looks like our CI services were having trouble last time you pushed. |
Add option to sort class lables, add to test
Also fix minor bug due to a misnamed var that both the test and pyflakes missed
@TomAugspurger @jreback Looks like the CI builds are passing. |
@TomAugspurger I'm actually not sure why the code coverage tool is reporting a decrease in coverage. |
Yeah, I took a glance and couldn't figure it out either. I'm guessing it's just a fluke, but I'll take a closer look later and merge. |
Thanks! |
if your master is not up to date code coverage doesn't make much sense |
@@ -371,6 +371,8 @@ Other Enhancements | |||
- :func:`MultiIndex.remove_unused_levels` has been added to facilitate :ref:`removing unused levels <advanced.shown_levels>`. (:issue:`15694`) | |||
- ``pd.read_csv()`` will now raise a ``ParserError`` error whenever any parsing error occurs (:issue:`15913`, :issue:`15925`) | |||
- ``pd.read_csv()`` now supports the ``error_bad_lines`` and ``warn_bad_lines`` arguments for the Python parser (:issue:`15925`) | |||
- ``pd.read_csv()`` will now raise a ``csv.Error`` error whenever an end-of-file character is encountered in the middle of a data row (:issue:`15913`) |
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.
this line is duped
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 don't see this duped on my copy, can you double check?
doc/source/whatsnew/v0.20.0.txt
Outdated
@@ -371,6 +371,8 @@ Other Enhancements | |||
- :func:`MultiIndex.remove_unused_levels` has been added to facilitate :ref:`removing unused levels <advanced.shown_levels>`. (:issue:`15694`) | |||
- ``pd.read_csv()`` will now raise a ``ParserError`` error whenever any parsing error occurs (:issue:`15913`, :issue:`15925`) | |||
- ``pd.read_csv()`` now supports the ``error_bad_lines`` and ``warn_bad_lines`` arguments for the Python parser (:issue:`15925`) | |||
- ``pd.read_csv()`` will now raise a ``csv.Error`` error whenever an end-of-file character is encountered in the middle of a data row (:issue:`15913`) | |||
- ``parallel_coordinates()`` now has a ``sort_labels`` keyword arg that sorts class labels and the colours assigned to them (:issue:`15908`) |
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.
has gained a
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.
Fixed.
@@ -241,6 +241,26 @@ def test_parallel_coordinates(self): | |||
with tm.assert_produces_warning(FutureWarning): | |||
parallel_coordinates(df, 'Name', colors=colors) | |||
|
|||
def test_parallel_coordinates_with_sorted_labels(self): | |||
""" For #15908 """ | |||
from pandas.tools.plotting import parallel_coordinates |
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.
you may need a mpl skip here (if its not available)? @TomAugspurger ? or is that done already on the whole class?
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.
Done on the class.
pandas/tools/plotting.py
Outdated
@@ -774,6 +780,9 @@ def parallel_coordinates(frame, class_column, cols=None, ax=None, color=None, | |||
colormap=colormap, color_type='random', | |||
color=color) | |||
|
|||
if sort_labels is True: |
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.
if sort_labels
is enough
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 mirrored an if expression from the lines above, but fixed.
lgtm. minor comment. |
thanks @stangirala |
Add option to sort class lables, add to test
git diff upstream/master --name-only -- '*.py' | flake8 --diff