python - Pyplot:如何制作具有非线性比例的颜色条?
问题描述
我想添加到我的情节 a colorbar
,它具有非线性比例。例如,对于这样的情节:
我想在右侧的栏上只有 5 种不同的颜色,而不是渐变(不要注意情节本身;这只是一个例子)。
我不想使用contourf
并想找到一些更通用的解决方案。
解决方案
如果您想在颜色栏中包含离散值,一种快速的方法是使用该cmap=plt.cm.get_cmap()
函数并传递您正在使用的任何颜色图类的名称以及所需的 bin 数量。
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 中所有颜色图的更多文档[这里]
推荐阅读
- python - 如何为每个分支着色不同?Python雪花函数
- google-maps - ACF True/False 字段,仅在设置为 True 时运行代码
- visual-studio - 具有使用多个值的生成器表达式的 CMake set_property 命令
- python - 将元素保留在另一个列表中包含的元组列表中
- azure - Azure - 从 EA 门户获取订阅列表及其状态
- angular-material - *cdkVirtualFor 在我的应用程序中不起作用,它在 Angular 7.2.0 中
- spring-boot - 没有控制器的 Springboot 端点
- javascript - 用于多个选项卡的 R 闪亮页面刷新按钮
- javascript - 是否可以从其 JSON 中重建 puppeteer Response 对象?
- sql-server - 每个部署配置的 SSIS 变量值