Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcoGorelli committed Feb 26, 2021
1 parent ab687ae commit bfacfd8
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
21 changes: 15 additions & 6 deletions pandas/plotting/_matplotlib/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -579,11 +579,18 @@ def legend_title(self) -> Optional[str]:
stringified = map(pprint_thing, self.data.columns.names)
return ",".join(stringified)

def _add_legend_handle(self, handle, label, index=None):
def _mark_right_label(
self, label: Optional[str], index: Optional[int]
) -> Optional[str]:
if not self.subplots: # (right) is only attached when subplots=False
if label is not None:
if self.mark_right and index is not None:
if self.on_right(index):
label = label + " (right)"
return label

def _add_legend_handle(self, handle: Artist, label: str) -> None:
if label is not None:
if self.mark_right and index is not None:
if self.on_right(index):
label = label + " (right)"
self.legend_handles.append(handle)
self.legend_labels.append(label)

Expand Down Expand Up @@ -1174,6 +1181,7 @@ def _make_plot(self):
kwds = dict(kwds, **errors)

label = pprint_thing(label) # .encode('utf-8')
label = self._mark_right_label(label, index=i)
kwds["label"] = label

newlines = plotf(
Expand All @@ -1186,7 +1194,7 @@ def _make_plot(self):
is_errorbar=is_errorbar,
**kwds,
)
self._add_legend_handle(newlines[0], label, index=i)
self._add_legend_handle(newlines[0], label)

if self._is_ts_plot():

Expand Down Expand Up @@ -1462,6 +1470,7 @@ def _make_plot(self):
kwds = dict(kwds, **errors)

label = pprint_thing(label)
label = self._mark_right_label(label, index=i)

if (("yerr" in kwds) or ("xerr" in kwds)) and (kwds.get("ecolor") is None):
kwds["ecolor"] = mpl.rcParams["xtick.color"]
Expand Down Expand Up @@ -1512,7 +1521,7 @@ def _make_plot(self):
log=self.log,
**kwds,
)
self._add_legend_handle(rect, label, index=i)
self._add_legend_handle(rect, label)

def _post_plot_logic(self, ax: Axes, data):
if self.use_index:
Expand Down
3 changes: 2 additions & 1 deletion pandas/plotting/_matplotlib/hist.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ def _make_plot(self):
kwds = self.kwds.copy()

label = pprint_thing(label)
label = self._mark_right_label(label, index=i)
kwds["label"] = label

style, kwds = self._apply_style_colors(colors, kwds, i, label)
Expand All @@ -105,7 +106,7 @@ def _make_plot(self):
kwds["weights"] = weights[:, i]

artists = self._plot(ax, y, column_num=i, stacking_id=stacking_id, **kwds)
self._add_legend_handle(artists[0], label, index=i)
self._add_legend_handle(artists[0], label)

def _make_plot_keywords(self, kwds, y):
"""merge BoxPlot/KdePlot properties to passed kwds"""
Expand Down

0 comments on commit bfacfd8

Please sign in to comment.