You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
import pytest
 | 
						|
 | 
						|
from pandas import DataFrame
 | 
						|
from pandas.tests.plotting.common import (
 | 
						|
    _check_plot_works,
 | 
						|
    _check_ticks_props,
 | 
						|
    _gen_two_subplots,
 | 
						|
)
 | 
						|
 | 
						|
plt = pytest.importorskip("matplotlib.pyplot")
 | 
						|
 | 
						|
 | 
						|
class TestCommon:
 | 
						|
    def test__check_ticks_props(self):
 | 
						|
        # GH 34768
 | 
						|
        df = DataFrame({"b": [0, 1, 0], "a": [1, 2, 3]})
 | 
						|
        ax = _check_plot_works(df.plot, rot=30)
 | 
						|
        ax.yaxis.set_tick_params(rotation=30)
 | 
						|
        msg = "expected 0.00000 but got "
 | 
						|
        with pytest.raises(AssertionError, match=msg):
 | 
						|
            _check_ticks_props(ax, xrot=0)
 | 
						|
        with pytest.raises(AssertionError, match=msg):
 | 
						|
            _check_ticks_props(ax, xlabelsize=0)
 | 
						|
        with pytest.raises(AssertionError, match=msg):
 | 
						|
            _check_ticks_props(ax, yrot=0)
 | 
						|
        with pytest.raises(AssertionError, match=msg):
 | 
						|
            _check_ticks_props(ax, ylabelsize=0)
 | 
						|
 | 
						|
    def test__gen_two_subplots_with_ax(self):
 | 
						|
        fig = plt.gcf()
 | 
						|
        gen = _gen_two_subplots(f=lambda **kwargs: None, fig=fig, ax="test")
 | 
						|
        # On the first yield, no subplot should be added since ax was passed
 | 
						|
        next(gen)
 | 
						|
        assert fig.get_axes() == []
 | 
						|
        # On the second, the one axis should match fig.subplot(2, 1, 2)
 | 
						|
        next(gen)
 | 
						|
        axes = fig.get_axes()
 | 
						|
        assert len(axes) == 1
 | 
						|
        subplot_geometry = list(axes[0].get_subplotspec().get_geometry()[:-1])
 | 
						|
        subplot_geometry[-1] += 1
 | 
						|
        assert subplot_geometry == [2, 1, 2]
 | 
						|
 | 
						|
    def test_colorbar_layout(self):
 | 
						|
        fig = plt.figure()
 | 
						|
 | 
						|
        axes = fig.subplot_mosaic(
 | 
						|
            """
 | 
						|
            AB
 | 
						|
            CC
 | 
						|
            """
 | 
						|
        )
 | 
						|
 | 
						|
        x = [1, 2, 3]
 | 
						|
        y = [1, 2, 3]
 | 
						|
 | 
						|
        cs0 = axes["A"].scatter(x, y)
 | 
						|
        axes["B"].scatter(x, y)
 | 
						|
 | 
						|
        fig.colorbar(cs0, ax=[axes["A"], axes["B"]], location="right")
 | 
						|
        DataFrame(x).plot(ax=axes["C"])
 |