Pyplot:如何制作具有非线性比例的颜色条?

问题描述 投票:0回答:1

我想在我的绘图中添加一个具有非线性比例的colorbar。例如,对于这样的情节:

enter image description here

我想在右侧的栏上只有5种不同的颜色,而不是渐变色(不要注意绘图本身;这只是一个示例)。

我不想使用contourf,但想找到一些更通用的解决方案。

python matplotlib colorbar
1个回答
0
投票

如果您要在颜色栏中使用离散值,一种快速的方法是使用cmap=plt.cm.get_cmap()函数并传递您正在使用的任何colormap class的名称以及所需的箱数。

import matplotlib.pyplot as plt
plt.style.use('classic')
%matplotlib inline

import numpy as np

# Random Data Visualation
x = np.linspace(0, 10, 1000)
data = np.sin(x) * np.cos(x[:, np.newaxis])

plt.imshow(data, cmap=plt.cm.get_cmap('viridis', 5))
plt.colorbar()
plt.clim(-1, 1);

enter image description here

有关Matplotlib [here]中所有颜色映射的更多文档,>

© www.soinside.com 2019 - 2024. All rights reserved.