from pandas.plotting._matplotlib import compat
+ self.compat = compat
+
mpl.rcdefaults()
self.start_date_to_int64 = 812419200000000000
"""
return [v[field] for v in rcParams["axes.prop_cycle"]]
+ def get_x_axis(self, ax):
+ return ax._shared_axes["x"] if self.compat.mpl_ge_3_5_0() else ax._shared_x_axes
+
+ def get_y_axis(self, ax):
+ return ax._shared_axes["y"] if self.compat.mpl_ge_3_5_0() else ax._shared_y_axes
+
def _check_plot_works(f, filterwarnings="always", default_axes=False, **kwargs):
"""
df.plot(ax=ax1, kind="area")
df.plot(ax=ax2, kind="area")
- assert ax1._shared_y_axes.joined(ax1, ax2)
- assert ax2._shared_y_axes.joined(ax1, ax2)
+ assert self.get_y_axis(ax1).joined(ax1, ax2)
+ assert self.get_y_axis(ax2).joined(ax1, ax2)
def test_bar_linewidth(self):
df = DataFrame(np.random.randn(5, 5))
ax1, ax2 = df.hist(column="height", by=df.gender, sharex=True)
# share x
- assert ax1._shared_x_axes.joined(ax1, ax2)
- assert ax2._shared_x_axes.joined(ax1, ax2)
+ assert self.get_x_axis(ax1).joined(ax1, ax2)
+ assert self.get_x_axis(ax2).joined(ax1, ax2)
# don't share y
- assert not ax1._shared_y_axes.joined(ax1, ax2)
- assert not ax2._shared_y_axes.joined(ax1, ax2)
+ assert not self.get_y_axis(ax1).joined(ax1, ax2)
+ assert not self.get_y_axis(ax2).joined(ax1, ax2)
def test_axis_share_y(self):
df = self.hist_df
ax1, ax2 = df.hist(column="height", by=df.gender, sharey=True)
# share y
- assert ax1._shared_y_axes.joined(ax1, ax2)
- assert ax2._shared_y_axes.joined(ax1, ax2)
+ assert self.get_y_axis(ax1).joined(ax1, ax2)
+ assert self.get_y_axis(ax2).joined(ax1, ax2)
# don't share x
- assert not ax1._shared_x_axes.joined(ax1, ax2)
- assert not ax2._shared_x_axes.joined(ax1, ax2)
+ assert not self.get_x_axis(ax1).joined(ax1, ax2)
+ assert not self.get_x_axis(ax2).joined(ax1, ax2)
def test_axis_share_xy(self):
df = self.hist_df
ax1, ax2 = df.hist(column="height", by=df.gender, sharex=True, sharey=True)
# share both x and y
- assert ax1._shared_x_axes.joined(ax1, ax2)
- assert ax2._shared_x_axes.joined(ax1, ax2)
+ assert self.get_x_axis(ax1).joined(ax1, ax2)
+ assert self.get_x_axis(ax2).joined(ax1, ax2)
- assert ax1._shared_y_axes.joined(ax1, ax2)
- assert ax2._shared_y_axes.joined(ax1, ax2)
+ assert self.get_y_axis(ax1).joined(ax1, ax2)
+ assert self.get_y_axis(ax2).joined(ax1, ax2)
@pytest.mark.parametrize(
"histtype, expected",