繁体   English   中英

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

[英]Pyplot: How to make a colorbar with a nonlinear scale?

我想在我的colorbar中添加一个颜色条,它具有非线性比例。 例如,对于这样的 plot:

在此处输入图像描述

我想在右侧的栏上只有 5 个不同的 colors,而不是渐变(不要注意 plot 本身;这只是一个例子)。

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

如果你想在你的颜色栏中有离散值,一个快速的方法是使用cmap=plt.cm.get_cmap() function 并传递你正在使用的任何颜色图 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);

在此处输入图像描述

有关 Matplotlib 中所有颜色图的更多文档[此处]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM