Skip to content

Commit

Permalink
Merge branch 'image-interpolation-example' of github.com:Stretch97/ma…
Browse files Browse the repository at this point in the history
…tplotlib into image-interpolation-example
  • Loading branch information
breedlun committed Apr 27, 2014
2 parents b01b74e + 57cb972 commit 0558507
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 11 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2014-04-22 Added an example showing the difference between
interpolation = 'none' and interpolation = 'nearest' in
`imshow()` when saving vector graphics files.

2014-04-10 Fixed the triangular marker rendering error. The "Up" triangle was
rendered instead of "Right" triangle and vice-versa.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
Displays the difference between interpolation = 'none' and
interpolation = 'nearest'.
Interpolation = 'none' and 'nearest' are equivalent when converting a
figure to an image file, such as a PNG. Interpolation = 'none'
and interpolation = 'nearest' behave quite differently, however, when
converting a figure to a vector graphics file, such as a PDF. As shown,
Interpolation = 'none' works well when a big image is scaled down, while
interpolation = 'nearest' works well when a small image is blown up.
Interpolation = 'none' and interpolation = 'nearest' are equivalent when
converting a figure to an image file, such as a PNG.
Interpolation = 'none' and interpolation = 'nearest' behave quite
differently, however, when converting a figure to a vector graphics file,
such as a PDF. As shown, Interpolation = 'none' works well when a big
image is scaled down, while interpolation = 'nearest' works well when a
small image is blown up.
"""

import numpy as np
Expand Down Expand Up @@ -40,8 +41,22 @@
fig.text(0.383, 0.90, "Interpolation = 'none'", ha = 'center')
fig.text(0.75, 0.90, "Interpolation = 'nearest'", ha = 'center')

#Save as a png and as a pdf
txt = fig.text(0.452, 0.95, 'Saved as a PNG', fontsize = 18)
plt.savefig('Nearest_vs_none.png', bbox_inches = 'tight')
txt.set_text('Saved as a PDF')
plt.savefig('Nearest_vs_none.pdf', bbox_inches = 'tight')
#If you were going to run this example on your local machine, you
#would save the figure as a PNG, save the same figure as a PDF, and
#then compare them. The following code would suffice.
txt = fig1.text(0.452, 0.95, 'Saved as a PNG', fontsize = 18)
# plt.savefig('None_vs_nearest-png.png')
# txt.set_text('Saved as a PDF')
# plt.savefig('None_vs_nearest-pdf.pdf')

#Here, however, we need to display the PDF on a webpage, which means
#the PDF must be converted into an image. For the purposes of this
#example, the 'Nearest_vs_none-pdf.pdf' has been pre-converted into
#'Nearest_vs_none-pdf.png' at 80 dpi. We simply need to load and
#display it.
pdf_im_path = cbook.get_sample_data('None_vs_nearest-pdf.png')
pdf_im = plt.imread(pdf_im_path)
fig2 = plt.figure(figsize = [8.0, 7.5])
plt.figimage(pdf_im)

plt.show()

0 comments on commit 0558507

Please sign in to comment.