首页 > 解决方案 > 获取描述任意 matplolib/seaborn 图的 numpy 数组

问题描述

是否可以在不明确将其保存为图像文件并读取它的情况下获取numpy描述任意matplolib/seaborn绘图的数组?

例如,假设我有sns.kdeplot()一个数组的附加图像。现在,我可以在不先将其保存到文件并读取它的情况下获取numpy该图的数组吗?就像是:

img = sns.kdeplot(arr)
img_arr = img.some_function() # Returns a numpy array describing the plot

在此处输入图像描述

标签: pythonnumpymatplotlibseaborn

解决方案


fig.canvas.tostring_rgb()会有所帮助:

fig, ax = plt.subplots()
sns.kdeplot(arr, ax=ax)

img_arr = np.fromstring(fig.canvas.tostring_rgb(), 
                        dtype=np.uint8,
                        sep='')

推荐阅读