{"action":"created","issue":{"url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4061","labels_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4061/labels{/name}","comments_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4061/comments","events_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4061/events","html_url":"https://github.com/matplotlib/matplotlib/pull/4061","id":56193668,"number":4061,"title":"Allow users to decide whether a vector graphics backend combines multiple images into a single image","user":{"login":"Stretch97","id":4099759,"avatar_url":"https://avatars.githubusercontent.com/u/4099759?v=3","gravatar_id":"","url":"https://api.github.com/users/Stretch97","html_url":"https://github.com/Stretch97","followers_url":"https://api.github.com/users/Stretch97/followers","following_url":"https://api.github.com/users/Stretch97/following{/other_user}","gists_url":"https://api.github.com/users/Stretch97/gists{/gist_id}","starred_url":"https://api.github.com/users/Stretch97/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stretch97/subscriptions","organizations_url":"https://api.github.com/users/Stretch97/orgs","repos_url":"https://api.github.com/users/Stretch97/repos","events_url":"https://api.github.com/users/Stretch97/events{/privacy}","received_events_url":"https://api.github.com/users/Stretch97/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/matplotlib/matplotlib/labels/needs_review","name":"needs_review","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/matplotlib/matplotlib/milestones/12","labels_url":"https://api.github.com/repos/matplotlib/matplotlib/milestones/12/labels","id":534144,"number":12,"title":"v1.5.x","description":null,"creator":{"login":"tacaswell","id":199813,"avatar_url":"https://avatars.githubusercontent.com/u/199813?v=3","gravatar_id":"","url":"https://api.github.com/users/tacaswell","html_url":"https://github.com/tacaswell","followers_url":"https://api.github.com/users/tacaswell/followers","following_url":"https://api.github.com/users/tacaswell/following{/other_user}","gists_url":"https://api.github.com/users/tacaswell/gists{/gist_id}","starred_url":"https://api.github.com/users/tacaswell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tacaswell/subscriptions","organizations_url":"https://api.github.com/users/tacaswell/orgs","repos_url":"https://api.github.com/users/tacaswell/repos","events_url":"https://api.github.com/users/tacaswell/events{/privacy}","received_events_url":"https://api.github.com/users/tacaswell/received_events","type":"User","site_admin":false},"open_issues":250,"closed_issues":152,"state":"open","created_at":"2014-01-13T03:21:09Z","updated_at":"2015-02-02T19:59:58Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2015-02-02T03:58:51Z","updated_at":"2015-02-06T15:20:56Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/matplotlib/matplotlib/pulls/4061","html_url":"https://github.com/matplotlib/matplotlib/pull/4061","diff_url":"https://github.com/matplotlib/matplotlib/pull/4061.diff","patch_url":"https://github.com/matplotlib/matplotlib/pull/4061.patch"},"body":"Currently, if multiple images are on a set of axes, matplotlib will combine them into a single image when the figure window is saved.  This is fine when the figure is saved as a raster image, such as a PNG, but it may not be what the user wants when the figure is saved as a vector graphics file, such as a PDF.  \r\n\r\nPersonally, I like to be able to open a PDF in Adobe Illustrator or Inkscape after I have saved the figure and move each image independently of the others.  I frequently will save a sequence of, say 5, vertically stacked images, and then I will realize 3 months later that I want to horizontally stack them, stagger them, overlap them, or something else. Usually I am in a hurry to put together a presentation or a writeup for something. Rather than dig up the old code, and rewrite it to do staggered images, I would much rather just work in Adobe Illustrator to manipulate the images on the fly. I find the GUI is the way to go for quick, single time, operations. If find myself doing the same GUI operations over and over again, then I will go to the effort to code it up.\r\n\r\nTo accommodate this workflow, I propose to add the rcParams 'pdf.combine_images', 'svg.combine_images', and 'ps.combine_images' to permit users to decide whether they want the vector graphics backend to combine all images within a set of axes into a single image.  I also propose to change 'renderer.option_nocomposite' to the clearer name 'renderer.option_combine_images'.\r\n\r\nNote: As a side benefit, this PR will give users a viable workaround for issue [3918](https://github.com/matplotlib/matplotlib/issues/3918).  "},"comment":{"url":"https://api.github.com/repos/matplotlib/matplotlib/issues/comments/73252301","html_url":"https://github.com/matplotlib/matplotlib/pull/4061#issuecomment-73252301","issue_url":"https://api.github.com/repos/matplotlib/matplotlib/issues/4061","id":73252301,"user":{"login":"Stretch97","id":4099759,"avatar_url":"https://avatars.githubusercontent.com/u/4099759?v=3","gravatar_id":"","url":"https://api.github.com/users/Stretch97","html_url":"https://github.com/Stretch97","followers_url":"https://api.github.com/users/Stretch97/followers","following_url":"https://api.github.com/users/Stretch97/following{/other_user}","gists_url":"https://api.github.com/users/Stretch97/gists{/gist_id}","starred_url":"https://api.github.com/users/Stretch97/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Stretch97/subscriptions","organizations_url":"https://api.github.com/users/Stretch97/orgs","repos_url":"https://api.github.com/users/Stretch97/repos","events_url":"https://api.github.com/users/Stretch97/events{/privacy}","received_events_url":"https://api.github.com/users/Stretch97/received_events","type":"User","site_admin":false},"created_at":"2015-02-06T15:20:56Z","updated_at":"2015-02-06T15:20:56Z","body":"The tests now use `io.Bytes` to check if there are two images in the vector graphics file, as @mdboom suggested.  The tests work fine in Python 2.6 and 2.7, but fail in Python 3.3 and 3.4.  Is there a way to find out what's wrong without installing Python 3, numpy, and matplotlib?"}}