|
2 | 2 |
|
3 | 3 | import matplotlib.pyplot as plt
|
4 | 4 | from matplotlib.axis import XTick
|
| 5 | +from matplotlib.testing.decorators import check_figures_equal |
5 | 6 |
|
6 | 7 |
|
7 | 8 | def test_tick_labelcolor_array():
|
@@ -31,6 +32,21 @@ def test_axis_not_in_layout():
|
31 | 32 | assert ax1_right.get_position().bounds == ax2_right.get_position().bounds
|
32 | 33 |
|
33 | 34 |
|
| 35 | +@check_figures_equal() |
| 36 | +def test_tick_not_in_layout(fig_test, fig_ref): |
| 37 | + # Check that the "very long" ticklabel is ignored from layouting after |
| 38 | + # set_in_layout(False); i.e. the layout is as if the ticklabel was empty. |
| 39 | + # Ticklabels are set to white so that the actual string doesn't matter. |
| 40 | + fig_test.set_layout_engine("constrained") |
| 41 | + ax = fig_test.add_subplot(xticks=[0, 1], xticklabels=["short", "very long"]) |
| 42 | + ax.tick_params(labelcolor="w") |
| 43 | + fig_test.draw_without_rendering() # Ensure ticks are correct. |
| 44 | + ax.xaxis.majorTicks[-1].label1.set_in_layout(False) |
| 45 | + fig_ref.set_layout_engine("constrained") |
| 46 | + ax = fig_ref.add_subplot(xticks=[0, 1], xticklabels=["short", ""]) |
| 47 | + ax.tick_params(labelcolor="w") |
| 48 | + |
| 49 | + |
34 | 50 | def test_translate_tick_params_reverse():
|
35 | 51 | fig, ax = plt.subplots()
|
36 | 52 | kw = {'label1On': 'a', 'label2On': 'b', 'tick1On': 'c', 'tick2On': 'd'}
|
|
0 commit comments