Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
svg backend truncates output size to integer, which it doesn't need to (and pdf backend doesn't) #9815
For vector backends, it should be acceptable for the output canvas to have a noninteger size. Indeed, the pdf backend will output canvas with noninteger sizes "as is". On the other hand, the svg backend truncates the output to the integer below, which it doesn't need to do.
Code for reproduction
gcf(); savefig("/tmp/foo.pdf"); savefig("/tmp/foo.svg")
and examine foo.pdf and foo.svg with a plain text viewer.
foo.pdf contains the line
(460.8 is 6.4 inches at 72dpi, 345.6 is 4.8 inches at 72 dpi).
foo.svg contains the line
so the SVG was truncated. Note that interestingly, the SVG also contains e.g.
i.e. some paths that overflow the SVG canvas.
I believe it is just as valid for the SVG output to use noninteger sizes (at least, manually editing the file doesn't make inkscape complain).
SVG backend should not crop the output size.