6 python matplotlib python-3.x
我有一个df这样的,如下所示。我正在做的是,我试图循环遍历带有df路径的列,并将图像打印为子图,其中图像路径为一列axis0,其他列路径并行,axis1如下所示。
identity VGG-Face_cosine img comment
0 ./clip_v4/3.png 1.110223e-16 .\clip_v3\0.png .\clip_v3\0.png is matched with ./clip_v4/3.png
0 ./clip_v4/2.png 2.220446e-16 .\clip_v3\1.png .\clip_v3\1.png is matched with ./clip_v4/2.png
1 ./clip_v4/4.png 2.220446e-16 .\clip_v3\1.png .\clip_v3\1.png is matched with ./clip_v4/4.png
2 ./clip_v4/5.png 2.220446e-16 .\clip_v3\1.png .\clip_v3\1.png is matched with ./clip_v4/5.png
0 ./clip_v4/2.png 2.220446e-16 .\clip_v3\2.png .\clip_v3\2.png is matched with
Run Code Online (Sandbox Code Playgroud)
我循环遍历这两列identity 和 img两列并绘制如下
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from matplotlib import rcParams
df = df.iloc[1:]
#merged_img = []
for index, row in df.iterrows():
# figure size in inches optional
rcParams['figure.figsize'] = 11 ,8
# read images
img_A = mpimg.imread(row['identity'])
img_B = mpimg.imread(row['img'])
# display images
fig, ax = plt.subplots(1,2)
ax[0].imshow(img_A)
ax[1].imshow(img_B)
Run Code Online (Sandbox Code Playgroud)
我得到的示例输出。
###控制台输出
到现在为止还好。我的下一个想法是保存这些图像,因为它们带有子图块PDF。我不想改变它打印的结构。就像我也只想在 PDF 中并排放置 2 个图像一样。我已经尝试过许多可用的解决方案。但是,我无法将我的代码部分与documentation. 有什么办法可以实现我的目标吗?任何参考都会有帮助!提前致谢。
使用PdfPagesfrommatplotlib.backends.backend_pdf将数字一张一张地保存在同一 pdf 文件的不同页面上:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from matplotlib import rcParams
from matplotlib.backends.backend_pdf import PdfPages
df = df.iloc[1:]
rcParams['figure.figsize'] = 11 ,8
pdf_file_name = 'my_images.pdf'
with PdfPages(pdf_file_name) as pdf:
for index, row in df.iterrows():
img_A = mpimg.imread(row['identity'])
img_B = mpimg.imread(row['img'])
fig, ax = plt.subplots(1,2)
ax[0].imshow(img_A)
ax[1].imshow(img_B)
# save the current figure at a new page in pdf_file_name
pdf.savefig()
Run Code Online (Sandbox Code Playgroud)
另请参阅https://matplotlib.org/stable/api/backend_pdf_api.html
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |