Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.
matplotlib.colors.hsv_to_rgb()
The matplotlib.colors.hsv_to_rgb() function is used to convert hsv values to rgb.
Syntax: matplotlib.colors.hsv_to_rgb(hsv)
Parameters:
- hsv: It is an array-like argument in the form of (…, 3) where all values are assumed to be in the range of 0 to 1.
Returns:
- rgb: It returns an ndarray in the form of (…, 3) that comprises of colors converted to RGB values within the range of 0 to 1.
Example 1:
import matplotlib.pyplot as plt import matplotlib.colors import numpy as np # helper function to find # mid-points def helper(z): k = () for i in range (z.ndim): z = (z[k + np.index_exp[: - 1 ]] + z[k + np.index_exp[ 1 :]]) / 2.0 k + = np.index_exp[:] return z # dummy coordinates with rgb # values attached with each s, alpha, x = np.mgrid[ 0 : 1 : 11j , 0 :np.pi * 2 : 25j , - 0.5 : 0.5 : 11j ] a = s * np.cos(alpha) b = s * np.sin(alpha) sc, alphac, xc = helper(s), helper(alpha), helper(x) # wobbly torus about [0.7, *, 0] sphere = (sc - 0.7 ) * * 2 + (xc + 0.2 * np.cos(alphac * 2 )) * * 2 < 0.2 * * 2 # combining the color components hsv = np.zeros(sphere.shape + ( 3 ,)) hsv[..., 0 ] = alphac / (np.pi * 2 ) hsv[..., 1 ] = sc hsv[..., 2 ] = xc + 0.5 #the hsv to rgb function plot_colors = matplotlib.colors.hsv_to_rgb(hsv) # and plot everything figure = plt.figure() axes = figure.gca(projection = '3d' ) axes.voxels(a, b, x, sphere, facecolors = plot_colors, edgecolors = np.clip( 2 * plot_colors - 0.5 , 0 , 1 ), linewidth = 0.5 ) plt.show() |
Output:
Example 2:
from matplotlib.colors import hsv_to_rgb # sample squares for example first_square = np.full(( 50 , 50 , 3 ), fill_value = '698' , dtype = np.uint8) / 255.0 second_square = np.full(( 50 , 50 , 3 ), fill_value = '385' , dtype = np.uint8) / 255.0 plt.subplot( 1 , 2 , 1 ) plt.imshow(hsv_to_rgb(first_square)) plt.subplot( 1 , 2 , 2 ) plt.imshow(hsv_to_rgb(second_square)) plt.show() |
Output: