【问题标题】:Create colormap with specified RGB values创建具有指定 RGB 值的颜色图
【发布时间】:2020-09-02 22:52:38
【问题描述】:

我想创建一个类似于热图的颜色图,但颜色在数据中定义为 RGB 值。 每个单元格都包含需要在图像中绘制的特定颜色值。

我想绘制与此类似的这些值:

如何在不使用 matplotlib 表的情况下生成这种颜色图。 我通过参考此处使用 matplotlib 表完成了此操作: matplotlib table color

但我想在不使用表格的情况下实现这一点。除了使用 matplotlib 表之外,还有其他方法吗?

【问题讨论】:

    标签: python matplotlib heatmap colormap


    【解决方案1】:

    这不是彩条,是吗?如果你可以用数据创建一个RGB关系,你就可以表达它。我设置了 'c=colors',但我认为最好指定一个将 RGB 转换为十六进制的列。

    import numpy as np
    import pandas as pd
    
    import matplotlib.pyplot as plt
    import matplotlib.cm as cm
    import matplotlib.colors
    
    data = [np.random.randn(50),np.random.randn(50),np.random.randint(1,5,(50,))]
    
    fig = plt.figure(figsize=(10,7))
    
    # RGB:[[100,125,200],[100,125,100],[100.25.50],[122,125,10],[100,25,201]]
    # hex=(['#647dc8','#647d64','#641932','#7a7d0a'])
    colors = ["#647dc8","#647d64","#641932","#7a7d0a","#ff19c9"]*10
    
    cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)
    im = plt.scatter(data[0], data[1], c=colors, linewidths=5, alpha=1.0)
    
    plt.show()
    

    【讨论】:

    • 在您的示例中,数据变量填充了随机点数据,但就我而言,数据变量填充了需要转换并显示为颜色图的单个 RGB 值。我不需要颜色条,所以可以忽略它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 2016-08-19
    相关资源
    最近更新 更多