I have been using Pylatex package in Python to generate reports in pdf format, but I got a problem in how to set the position of subpictures at a report without to use the full size width of page (using small subpictures centered). Any guess about?
I try to use "placement='c'" and nothing...
# the picture to plot
[![kitten][1]][1]
# my code
import os
from pylatex import Document, PageStyle, NewPage, SubFigure, Figure, Section
from pylatex.utils import NoEscape
def generate_pdf_report(imageFilename):
geometry_options = { "head": "30pt",
"margin": "0.3in",
"top": "0.2in",
"bottom": "0.4in",
"includeheadfoot": True}
doc = Document(geometry_options=geometry_options)
first_page = PageStyle("firstpage")
doc.preamble.append(first_page)
doc.change_document_style("firstpage")
with doc.create(Section('Plotting multiple figures')):
doc.append("How to set the pictures at center of page without change the width?")
with doc.create(Figure(position='h!')) as imagesRow1:
with doc.create(
SubFigure(position='c', width=NoEscape(r'0.33\linewidth'))) as left_imagesRow1:
left_imagesRow1.add_image(imageFilename,placement='c', width=NoEscape(r'0.95\linewidth'))
left_imagesRow1.add_caption("img 1")
with doc.create(
SubFigure(position='c', width=NoEscape(r'0.33\linewidth'))) as right_imagesRow1:
right_imagesRow1.add_image(imageFilename,placement='c', width=NoEscape(r'0.95\linewidth'))
right_imagesRow1.add_caption("img 2")
with doc.create(Figure(position='h!')) as imagesRow2:
with doc.create(
SubFigure(position='c', width=NoEscape(r'0.33\linewidth'))) as left_imagesRow2:
left_imagesRow2.add_image(imageFilename,placement='c', width=NoEscape(r'0.95\linewidth'))
left_imagesRow2.add_caption("img 3")
with doc.create(
SubFigure(position='c', width=NoEscape(r'0.33\linewidth'))) as right_imagesRow2:
right_imagesRow2.add_image(imageFilename, placement='c', width=NoEscape(r'0.95\linewidth'))
right_imagesRow2.add_caption("img 4")
imagesRow2.add_caption("Setting the subpictures at center")
doc.append(NewPage())
doc.generate_pdf("test_image_positions", compiler="pdflatex", clean=True, clean_tex=False)
imageFilename = os.path.join(os.getcwd(),"kitten.jpg")
generate_pdf_report( imageFilename)
#
The result is the subpictures on the left side of document.