(fig_ref, fig_test)
| 171 | |
| 172 | @check_figures_equal(extensions=['png', 'pdf', 'svg']) |
| 173 | def test_marker_clipping(fig_ref, fig_test): |
| 174 | # Plotting multiple markers can trigger different optimized paths in |
| 175 | # backends, so compare single markers vs multiple to ensure they are |
| 176 | # clipped correctly. |
| 177 | marker_count = len(markers.MarkerStyle.markers) |
| 178 | marker_size = 50 |
| 179 | ncol = 7 |
| 180 | nrow = marker_count // ncol + 1 |
| 181 | |
| 182 | width = 2 * marker_size * ncol |
| 183 | height = 2 * marker_size * nrow * 2 |
| 184 | fig_ref.set_size_inches((width / fig_ref.dpi, height / fig_ref.dpi)) |
| 185 | ax_ref = fig_ref.add_axes((0, 0, 1, 1)) |
| 186 | fig_test.set_size_inches((width / fig_test.dpi, height / fig_ref.dpi)) |
| 187 | ax_test = fig_test.add_axes((0, 0, 1, 1)) |
| 188 | |
| 189 | for i, marker in enumerate(markers.MarkerStyle.markers): |
| 190 | x = i % ncol |
| 191 | y = i // ncol * 2 |
| 192 | |
| 193 | # Singular markers per call. |
| 194 | ax_ref.plot([x, x], [y, y + 1], c='k', linestyle='-', lw=3) |
| 195 | ax_ref.plot(x, y, c='k', |
| 196 | marker=marker, markersize=marker_size, markeredgewidth=10, |
| 197 | fillstyle='full', markerfacecolor='white') |
| 198 | ax_ref.plot(x, y + 1, c='k', |
| 199 | marker=marker, markersize=marker_size, markeredgewidth=10, |
| 200 | fillstyle='full', markerfacecolor='white') |
| 201 | |
| 202 | # Multiple markers in a single call. |
| 203 | ax_test.plot([x, x], [y, y + 1], c='k', linestyle='-', lw=3, |
| 204 | marker=marker, markersize=marker_size, markeredgewidth=10, |
| 205 | fillstyle='full', markerfacecolor='white') |
| 206 | |
| 207 | ax_ref.set(xlim=(-0.5, ncol), ylim=(-0.5, 2 * nrow)) |
| 208 | ax_test.set(xlim=(-0.5, ncol), ylim=(-0.5, 2 * nrow)) |
| 209 | ax_ref.axis('off') |
| 210 | ax_test.axis('off') |
| 211 | |
| 212 | |
| 213 | def test_marker_init_transforms(): |
nothing calls this directly
no test coverage detected
searching dependent graphs…