Title: PDF file generation is not deterministic - results in different outputs on the same input · Issue #6317 · matplotlib/matplotlib · GitHub
Open Graph Title: PDF file generation is not deterministic - results in different outputs on the same input · Issue #6317 · matplotlib/matplotlib
X Title: PDF file generation is not deterministic - results in different outputs on the same input · Issue #6317 · matplotlib/matplotlib
Description: Suppose you want to generate a pdf file with matplotlib and save it. genfigure.py: import matplotlib.pyplot as plt import sys plt.plot([0, 1], [0, 1]) plt.savefig(sys.argv[1]) Run the script from the command line $ python genfigure.py 1....
Open Graph Description: Suppose you want to generate a pdf file with matplotlib and save it. genfigure.py: import matplotlib.pyplot as plt import sys plt.plot([0, 1], [0, 1]) plt.savefig(sys.argv[1]) Run the script from t...
X Description: Suppose you want to generate a pdf file with matplotlib and save it. genfigure.py: import matplotlib.pyplot as plt import sys plt.plot([0, 1], [0, 1]) plt.savefig(sys.argv[1]) Run the script from t...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/6317
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"PDF file generation is not deterministic - results in different outputs on the same input","articleBody":"Suppose you want to generate a pdf file with matplotlib and save it. \n\n`genfigure.py`:\n\n```\nimport matplotlib.pyplot as plt\nimport sys\nplt.plot([0, 1], [0, 1])\nplt.savefig(sys.argv[1])\n```\n\nRun the script from the command line\n\n```\n$ python genfigure.py 1.pdf\n$ python genfigure.py 2.pdf\n```\n\nGiven that we are saving the same figure, we would expect the output to be the same. However, after looking at the file hashes, they appear to be different. In my particular case:\n\n```\n$ md5sum 1.pdf 2.pdf\ne54cdbd65a6baaa5152d90743d800039 1.pdf\n4b0ac2a7c046c4813114c63f3c4d27e7 2.pdf\n```\n\nOn the other hand, no such issue exists when saving png files. \n\n```\n$ python genfigure.py 1.png\n$ python genfigure.py 2.png\n\n```\n\nThe two `png` files are exactly the same\n\n```\n$ md5sum 1.png 2.png\n5d22187827337cd9262ee248550fab6f 1.png\n5d22187827337cd9262ee248550fab6f 2.png\n```\n\nIt appears that pdf saving has some source of non-determinism.\n\nIs there a way to ensure that saving the same figure multiple times, results in exactly the same pdf file?\n","author":{"url":"https://github.com/drufat","@type":"Person","name":"drufat"},"datePublished":"2016-04-19T00:54:43.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":22},"url":"https://github.com/6317/matplotlib/issues/6317"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c8ca58b3-d7b4-72b8-fbe2-0bc0531c8215 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CE04:113CA7:24CB71B:31B4EA6:6A53997A |
| html-safe-nonce | 0196e20dbc8b07b0f8cf20f3bb7e6dce0bbcbda470959bc7f6a97646003e167b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRTA0OjExM0NBNzoyNENCNzFCOjMxQjRFQTY6NkE1Mzk5N0EiLCJ2aXNpdG9yX2lkIjoiNDM0NTk5MTAwMjQ1NDIwMjc0NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | ed16778b85f4670329a3fe8ffea66d7fef1367897ac5486ea82dfbda3d7a31cf |
| hovercard-subject-tag | issue:149314189 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/matplotlib/matplotlib/6317/issue_layout |
| twitter:image | https://opengraph.githubassets.com/50acc994bf90a5f7796c1e689a3360056e19a65e1198f4149b0ba97758aa6e69/matplotlib/matplotlib/issues/6317 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/50acc994bf90a5f7796c1e689a3360056e19a65e1198f4149b0ba97758aa6e69/matplotlib/matplotlib/issues/6317 |
| og:image:alt | Suppose you want to generate a pdf file with matplotlib and save it. genfigure.py: import matplotlib.pyplot as plt import sys plt.plot([0, 1], [0, 1]) plt.savefig(sys.argv[1]) Run the script from t... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | drufat |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width