繁体   English   中英

如何在 matplotlib 中添加颜色条

[英]How to add colorbar in matplotlib

我不太了解 colorbar 上的文档,我想对一个基本示例进行解释。 所以下面我为 a={1, 2, 3, 4} 绘制 exp(-x*a)。 如何使用 a 的值添加颜色条。

import numpy as np
import matplotlib.pyplot as plt

def func(x,a):
    return np.exp(-x*a)
x = np.linspace(0, 5)

for a in range(1,5):
    plt.plot(func(x,a))
plt.show()

我对 imshow、subplot、ax 感到困惑。

颜色方案定义在 0 到 1 的范围内,因此您首先需要将值(0 到 5)标准化为 0 到 1 的范围。然后您可以从颜色图中提取颜色。 最后,您必须使用颜色 map 和您在用于绘图的轴上选择的标准 plot 一个颜色条。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm, colors


def func(x, a):
    return np.exp(-x * a)


x = np.linspace(0, 5)

fig, ax = plt.subplots()

# define color map
cmap = cm.get_cmap("Spectral")

# need to normalize because color maps are defined in [0, 1]
norm = colors.Normalize(0, 5)

for a in range(1, 5):
    ax.plot(x, func(x, a), 
        color=cmap(norm(a)))  # get color from color map 

# plot colorbar
fig.colorbar(cm.ScalarMappable(norm=norm, cmap=cmap), ax=ax)

plt.show()

plot 看起来像这样: 在此处输入图像描述

暂无
暂无

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

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