| 951 | @image_comparison(['proportional_colorbars.png'], remove_text=True, |
| 952 | style='mpl20') |
| 953 | def test_proportional_colorbars(): |
| 954 | |
| 955 | x = y = np.arange(-3.0, 3.01, 0.025) |
| 956 | X, Y = np.meshgrid(x, y) |
| 957 | Z1 = np.exp(-X**2 - Y**2) |
| 958 | Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) |
| 959 | Z = (Z1 - Z2) * 2 |
| 960 | |
| 961 | levels = [-1.25, -0.5, -0.125, 0.125, 0.5, 1.25] |
| 962 | cmap = mcolors.ListedColormap( |
| 963 | ['0.3', '0.5', 'white', 'lightblue', 'steelblue'], |
| 964 | under='darkred', |
| 965 | over='crimson', |
| 966 | ) |
| 967 | norm = mcolors.BoundaryNorm(levels, cmap.N) |
| 968 | |
| 969 | extends = ['neither', 'both'] |
| 970 | spacings = ['uniform', 'proportional'] |
| 971 | fig, axs = plt.subplots(2, 2) |
| 972 | for i in range(2): |
| 973 | for j in range(2): |
| 974 | CS3 = axs[i, j].contourf(X, Y, Z, levels, cmap=cmap, norm=norm, |
| 975 | extend=extends[i]) |
| 976 | fig.colorbar(CS3, spacing=spacings[j], ax=axs[i, j]) |
| 977 | |
| 978 | |
| 979 | @image_comparison(['extend_drawedges.png'], remove_text=True, style='mpl20') |