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.
		
		
		
		
		
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
import numpy as np
 | 
						|
 | 
						|
import pytest
 | 
						|
 | 
						|
from matplotlib.testing.decorators import check_figures_equal
 | 
						|
from matplotlib import (
 | 
						|
    collections as mcollections, patches as mpatches, path as mpath)
 | 
						|
 | 
						|
 | 
						|
@pytest.mark.backend('cairo')
 | 
						|
@check_figures_equal(extensions=["png"])
 | 
						|
def test_patch_alpha_coloring(fig_test, fig_ref):
 | 
						|
    """
 | 
						|
    Test checks that the patch and collection are rendered with the specified
 | 
						|
    alpha values in their facecolor and edgecolor.
 | 
						|
    """
 | 
						|
    star = mpath.Path.unit_regular_star(6)
 | 
						|
    circle = mpath.Path.unit_circle()
 | 
						|
    # concatenate the star with an internal cutout of the circle
 | 
						|
    verts = np.concatenate([circle.vertices, star.vertices[::-1]])
 | 
						|
    codes = np.concatenate([circle.codes, star.codes])
 | 
						|
    cut_star1 = mpath.Path(verts, codes)
 | 
						|
    cut_star2 = mpath.Path(verts + 1, codes)
 | 
						|
 | 
						|
    # Reference: two separate patches
 | 
						|
    ax = fig_ref.subplots()
 | 
						|
    ax.set_xlim([-1, 2])
 | 
						|
    ax.set_ylim([-1, 2])
 | 
						|
    patch = mpatches.PathPatch(cut_star1,
 | 
						|
                               linewidth=5, linestyle='dashdot',
 | 
						|
                               facecolor=(1, 0, 0, 0.5),
 | 
						|
                               edgecolor=(0, 0, 1, 0.75))
 | 
						|
    ax.add_patch(patch)
 | 
						|
    patch = mpatches.PathPatch(cut_star2,
 | 
						|
                               linewidth=5, linestyle='dashdot',
 | 
						|
                               facecolor=(1, 0, 0, 0.5),
 | 
						|
                               edgecolor=(0, 0, 1, 0.75))
 | 
						|
    ax.add_patch(patch)
 | 
						|
 | 
						|
    # Test: path collection
 | 
						|
    ax = fig_test.subplots()
 | 
						|
    ax.set_xlim([-1, 2])
 | 
						|
    ax.set_ylim([-1, 2])
 | 
						|
    col = mcollections.PathCollection([cut_star1, cut_star2],
 | 
						|
                                      linewidth=5, linestyles='dashdot',
 | 
						|
                                      facecolor=(1, 0, 0, 0.5),
 | 
						|
                                      edgecolor=(0, 0, 1, 0.75))
 | 
						|
    ax.add_collection(col)
 |