Matplotlib.colors.to_hex() in Python
Last Updated :
21 Apr, 2020
Improve
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.
Python3 1==
Output:
Example 2:
Python3 1==
Output:
matplotlib.colors.to_hex()
Thematplotlib.colors.to_hex()
function is used to convert numbers between 0 to 1 into hex color code. It uses the #rrggbb
format if keep_alpha is set to False(its also the default) else it uses #rrggbbaa
.
Syntax: matplotlib.colors.to_hex(c, keep_alpha=False) Parameters:Example 1:
- c: This represents an array of color sequence between 0 to 1.
- keep_alpha: If set True uses #rrggbbaa format else uses #rrggbb format and it only accepts boolean values.
import matplotlib.pyplot as plt
from matplotlib import colors
import numpy as np
# dummy data to build the grid
data = np.random.rand(10, 10) * 20
# converting into hex color code
hex_color=matplotlib.colors.to_hex([ 0.47,
0.0,
1.0 ])
# create discrete colormap
cmap = colors.ListedColormap([hex_color,
'green'])
bounds = [0,10,20]
norm = colors.BoundaryNorm(bounds, cmap.N)
fig, ax = plt.subplots()
ax.imshow(data, cmap=cmap, norm=norm)
# draw gridlines
ax.grid(which='major', axis='both',
linestyle='-', color='k',
linewidth=2)
ax.set_xticks(np.arange(-.5, 10, 1));
ax.set_yticks(np.arange(-.5, 10, 1));
plt.show()

import matplotlib.pyplot as plt
from matplotlib import colors
import numpy as np
# dummy data to build the grid
data = np.random.rand(10, 10) * 20
# converting into hex color
# code with alpha set to True
hex_color = matplotlib.colors.to_hex([ 0.47,
0.0,
1.0,
0.5 ],
keep_alpha = True)
# create discrete colormap
cmap = colors.ListedColormap([hex_color,
'red'])
bounds = [0, 10, 20]
norm = colors.BoundaryNorm(bounds, cmap.N)
fig, ax = plt.subplots()
ax.imshow(data, cmap = cmap, norm = norm)
# draw gridlines
ax.grid(which ='major', axis ='both',
linestyle ='-', color ='k',
linewidth = 2)
ax.set_xticks(np.arange(-.5, 10, 1));
ax.set_yticks(np.arange(-.5, 10, 1));
plt.show()
