1+ """
2+ Displays the difference between interpolation = 'none' and
3+ interpolation = 'nearest'.
4+
5+ Interpolation = 'none' and 'nearest' are equivalent when converting a
6+ figure to an image file, such as a PNG. Interpolation = 'none'
7+ and interpolation = 'nearest' behave quite differently, however, when
8+ converting a figure to a vector graphics file, such as a PDF. As shown,
9+ Interpolation = 'none' works well when a big image is scaled down, while
10+ interpolation = 'nearest' works well when a small image is blown up.
11+ """
12+
13+ import numpy as np
14+ import matplotlib .pyplot as plt
15+ import matplotlib .cbook as cbook
16+
17+ #Load big image
18+ big_im_path = cbook .get_sample_data ('necked_tensile_specimen.png' )
19+ big_im = plt .imread (big_im_path )
20+ #Define small image
21+ small_im = np .array ([[0.25 , 0.75 , 1.0 , 0.75 ], [0.1 , 0.65 , 0.5 , 0.4 ], \
22+ [0.6 , 0.3 , 0.0 , 0.2 ], [0.7 , 0.9 , 0.4 , 0.6 ]])
23+
24+ #Create a 2x2 table of plots
25+ fig = plt .figure (figsize = [8.0 , 7.5 ])
26+ ax = plt .subplot (2 ,2 ,1 )
27+ ax .imshow (big_im , interpolation = 'none' )
28+ ax = plt .subplot (2 ,2 ,2 )
29+ ax .imshow (big_im , interpolation = 'nearest' )
30+ ax = plt .subplot (2 ,2 ,3 )
31+ ax .imshow (small_im , interpolation = 'none' )
32+ ax = plt .subplot (2 ,2 ,4 )
33+ ax .imshow (small_im , interpolation = 'nearest' )
34+ plt .subplots_adjust (left = 0.24 , wspace = 0.2 , hspace = 0.1 , \
35+ bottom = 0.05 , top = 0.86 )
36+
37+ #Label the rows and columns of the table
38+ fig .text (0.03 , 0.645 , 'Big Image\n Scaled Down' , ha = 'left' )
39+ fig .text (0.03 , 0.225 , 'Small Image\n Blown Up' , ha = 'left' )
40+ fig .text (0.383 , 0.90 , "Interpolation = 'none'" , ha = 'center' )
41+ fig .text (0.75 , 0.90 , "Interpolation = 'nearest'" , ha = 'center' )
42+
43+ #Save as a png and as a pdf
44+ txt = fig .text (0.452 , 0.95 , 'Saved as a PNG' , fontsize = 18 )
45+ plt .savefig ('Nearest_vs_none.png' , bbox_inches = 'tight' )
46+ txt .set_text ('Saved as a PDF' )
47+ plt .savefig ('Nearest_vs_none.pdf' , bbox_inches = 'tight' )
0 commit comments