相关疑难解决方法(0)

我可以通过编程方式将matplotlib图形插入Excel吗?

我将matplotlib文件保存为.tiff图像.我希望能够打开一个excel文件并将图像粘贴到那里.

openpyxl似乎不支持图像嵌入.xlwt确实只有bmp.

或者,如果我可以通过编程方式将tiff转换为bmp,这也可能有所帮助.

我们欢迎任何一个想法.

相近

以编程方式将多个jpeg图像嵌入EXCEL?

但是,从tiff到bmp的转换是可以接受的,因为我的图表量很小(每个文件大约10个).

python excel matplotlib

11
推荐指数
2
解决办法
2万
查看次数

将pandas/matplotlib映像直接写入XLSX文件

我在pandas/matplotlib中生成图并希望将它们写入XLSX文件.我不打算创建原生Excel图表; 我只是把这些情节写成非交互式图像.我正在使用XlsxWriter库/引擎.

我找到的最接近的解决方案是这个SO问题的答案,它建议使用XlsxWriter.write_image()方法.但是,此方法似乎将文件名作为输入.我试图以编程方式从pandas/matplotlib plot()调用传递直接输出,例如:

h = results.resid.hist()
worksheet.insert_image(row, 0, h) # doesn't work
Run Code Online (Sandbox Code Playgroud)

或这个:

s = df.plot(kind="scatter", x="some_x_variable", y="resid")
worksheet.insert_image(row, 0, s) # doesn't work
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这一点,缺少首先将图像写入磁盘文件的解决方法?

更新

下面的回答让我走上正轨并接受了.我需要进行一些更改,主要是(我认为),因为我使用的是Python 3,也许还有一些API更改.这是解决方案:

from io import BytesIO
import matplotlib.pyplot as plt

imgdata = BytesIO()
fig, ax = plt.subplots()
results.resid.hist(ax=ax)
fig.savefig(imgdata, format="png")
imgdata.seek(0)

worksheet.insert_image(
    row, 0, "",
    {'image_data': imgdata}
)
Run Code Online (Sandbox Code Playgroud)

""insert_image()代码欺骗Excel中,这仍然是期待一个文件名/ URL /等.

python excel matplotlib pandas xlsxwriter

7
推荐指数
1
解决办法
5614
查看次数

标签 统计

excel ×2

matplotlib ×2

python ×2

pandas ×1

xlsxwriter ×1