def _split_colors(color, n):
 (r, g, b, a) = color
 (h, s, v) = rgb_to_hsv(r, g, b)
 gradient_range = np.sqrt((n / 10.0))
 if (v > 0.5):
  v_max = min(0.95, (v + (gradient_range / 2)))
  v_min = max(0.05, (v_max - gradient_range))
 else:
  v_min = max(0.05, (v - (gradient_range / 2)))
  v_max = min(0.95, (v_min + gradient_range))
 hsv_colors = ((h, s, v_) for v_ in np.linspace(v_min, v_max, n))
 rgb_colors = (hsv_to_rgb(h_, s_, v_) for (h_, s_, v_) in hsv_colors)
 rgba_colors = ((r_, g_, b_, a) for (r_, g_, b_) in rgb_colors)
 return tuple(rgba_colors)

def _split_colors ( color , n ) : ( r , g , b , a ) = color ( h , s , v ) = rgb_to_hsv ( r , g , b ) gradient_range = np . sqrt ( ( n / 10.0 ) ) if ( v > 0.5 ) : v_max = min ( 0.95 , ( v + ( gradient_range / 2 ) ) ) v_min = max ( 0.05 , ( v_max - gradient_range ) ) else : v_min = max ( 0.05 , ( v - ( gradient_range / 2 ) ) ) v_max = min ( 0.95 , ( v_min + gradient_range ) ) hsv_colors = ( ( h , s , v_ ) for v_ in np . linspace ( v_min , v_max , n ) ) rgb_colors = ( hsv_to_rgb ( h_ , s_ , v_ ) for ( h_ , s_ , v_ ) in hsv_colors ) rgba_colors = ( ( r_ , g_ , b_ , a ) for ( r_ , g_ , b_ ) in rgb_colors ) return tuple ( rgba_colors )
create n colors in hsv space that occupy a gradient in value .