【问题标题】:Pyplot: How to make a colorbar with a nonlinear scale?Pyplot:如何制作具有非线性比例的颜色条?
【发布时间】:2020-05-19 15:53:45
【问题描述】:

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

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

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

【问题讨论】:

  • 您没有添加任何代码,因此很难猜测您是如何调用的。 cmap = plt.cm.get_cmap('viridis', 5) 会给你一个只有来自 viridis 的 5 种颜色的颜色图。但它仍然是线性颜色图。
  • 成功了,谢谢!

标签: python matplotlib colorbar


【解决方案1】:

如果您想在颜色栏中包含离散值,一个快速的方法是使用 cmap=plt.cm.get_cmap() 函数并传递您正在使用的 colormap class 的名称以及所需的 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 [here] 中所有颜色图的文档

【讨论】:

    猜你喜欢
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2013-03-02
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多