Skip to content Skip to sidebar Skip to footer

Matplotlib Pyplot Colorbar Question

Dear all, I'm trying to perform a scatter plot with color with an associated color bar. I would like the colorbar to have string values rather than numerical values, as I'm compari

Solution 1:

cbar.ax.set_yticklabels(['Low','High'])

For example,

import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt

data = np.random.random((10, 4))
data2 = np.random.random((10, 4))
plt.subplots_adjust(bottom = 0.1)
plt.xlabel(r'$\partial \Delta/\partial\Phi[$mm$/^{\circ}]$', fontsize = 16)
plt.ylabel(r'$\Delta$ [mm]', fontsize = 16)
plt.scatter(
    data[:, 0], data[:, 1], marker = 'o', c = data[:, 3], s = data[:, 3]*1500,
    cmap = cm.Spectral, vmin = min(data[:, 3]), vmax = max(data[:, 3]))
plt.scatter(
    data2[:, 0], data2[:, 1], marker = '^', c = data2[:, 2], s = data2[:, 2]*500,
    cmap = cm.Spectral, vmin = min(data2[:, 2]), vmax = max(data2[:, 2]))
cbar = plt.colorbar(ticks = [min(data2[:, 2]), max(data2[:, 2])])
cbar.ax.set_yticklabels(['Low', 'High'])
cbar.set_label(r'PdF')
plt.show()

produces

alt text

Post a Comment for "Matplotlib Pyplot Colorbar Question"