我想创建一个像热图的颜色图,但是颜色被定义为数据中的RGB值。每个单元格包含需要在图像中绘制的特定颜色值。
我想绘制这些看起来像这样的值:
如何在不使用matplotlib表的情况下生成这种颜色图。我已经通过使用matplotlib表来完成此任务,方法是从此处获取参考:matplotlib table color
但是我想不使用表就实现它。除了使用matplotlib表以外,这些方法还有其他方法吗?
([Custom Colormap是最佳答案。基于此,我将所需的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]
# hex=(['#647dc8','#647d64','#641932','#7a7d0a'])
norm = matplotlib.colors.Normalize(-1,1)
colors = [[norm(-1.0), "#647dc8"],
[norm(-0.6), "#647d64"],
[norm( 0.6), "#641932"],
[norm( 1.0), "#7a7d0a"]]
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)
im = plt.scatter(data[0], data[1], c=data[2], linewidths=0, alpha=.8, cmap=cmap)
fig.colorbar(im)
plt.show()