获取描述任意 matplotlib/seaborn 图的 numpy 数组

Posted

技术标签:

【中文标题】获取描述任意 matplotlib/seaborn 图的 numpy 数组【英文标题】:Getting the numpy array describing an arbitrary matplolib/seaborn plot 【发布时间】:2020-02-22 04:23:43 【问题描述】:

是否有可能获得描述任意matplolib/seaborn 绘图的numpy 数组而不 将其显式保存为图像文件并读取它?

例如,假设我有一个数组的sns.kdeplot() 附加图像。现在,我可以在没有第一个saving it to a file 并阅读它的情况下获得这个情节的numpy 数组吗?比如:

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

【问题讨论】:

【参考方案1】:

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='')

【讨论】:

以上是关于获取描述任意 matplotlib/seaborn 图的 numpy 数组的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib:seaborn导入后忽略matplotlibrc文件[重复]

在 matplotlib/seaborn 中使用 groupby 绘制线图?

将 Matplotlib/Seaborn 散点图变形为平行四边形

如何为多图布局调整 Matplotlib/Seaborn 子图之间的空间

有啥方法可以正确聚合时间序列数据以使用 matplotlib/seaborn 制作散点图?

可视化在 matplotlib/seaborn 中有意义的数值与分类数据