【问题标题】:Python matplotlib custom colorbar for plotted lines with manually assigned colorsPython matplotlib 自定义颜色条,用于手动分配颜色的绘制线
【发布时间】:2021-01-07 19:47:55
【问题描述】:

我正在尝试为以下类型的绘图定义颜色条。

import matplotlib.pyplot as plt
import numpy as np

for i in np.arange(0,10,0.1):
    plt.plot(range(10),np.ones(10)*i,c=[i/10.,0.5,0.25])
plt.show()

这只是我的实际数据的简化版本,但基本上,我想要由另一个变量用颜色条键绘制和着色的一系列线。这在分散中很容易做到,但我无法分散来绘制连接线。积分太笨重了。我知道这听起来像是基本的东西,但我很难找到一个简单的解决方案......我错过了什么明显的解决方案?

【问题讨论】:

    标签: python-3.x matplotlib colorbar


    【解决方案1】:

    您可以从中构建自定义颜色映射和可映射,然后传递给colorbar

    from matplotlib.cm import ScalarMappable
    from matplotlib.colors import Normalize
    import matplotlib.colors as mcolors
    
    color_list = [(i/10, 0.5,0.25) for i in np.arange(0,10,0.1)]
    cmap = mcolors.LinearSegmentedColormap.from_list("my_colormap", color_list)
    cmappable = ScalarMappable(norm=Normalize(0,10), cmap=cmap)
    
    plt.figure(figsize=(10,10))
    for j,i in enumerate(np.arange(0,10,0.1)):
        plt.plot(range(10),np.ones(10)*i,c=color_list[j])
        
    plt.colorbar(cmappable)
    plt.show()
    

    输出:

    【讨论】:

    • 这正是我一直在寻找的,但很难找到示例 - 谢谢!
    猜你喜欢
    • 2016-12-17
    • 2019-05-25
    • 2022-01-20
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 2011-01-02
    • 2014-10-19
    • 1970-01-01
    相关资源
    最近更新 更多