Re: [matplotlib-devel] Setting dpi in savefig has unexpected results for PDFs
On Jul 16, 2010, at 4:08 PM, Eric Firing wrote: > On 07/16/2010 09:45 AM, Tony S Yu wrote: >> I recently noticed that setting the dpi for savefig doesn't work as >> expected when saving to pdf. Take the following code, for example: >> > import matplotlib.pyplot as plt > > plt.figure(figsize=(8,6)) > plt.plot([1,2]) > plt.savefig('test.png', dpi=100) > plt.savefig('test.pdf', dpi=100) >> >> The resulting png file is 800 x 600 (as expected), while the pdf file is >> 576 x 432 [which is (800 x 600) * 72/100]. I found an old thread > > No, 576 x 432 is the paper size in points, not dots, so it is 8x6 inches > as requested. Since the content is all vector-based, there is no notion > of dots or pixels in test.pdf. [snip] >> >> P.S. maybe enough time has passed that most people have adopted PDF >> viewers/parsers using PDF >= 1.6, and this hard-coded dpi could be >> removed? Just a thought. > > No; I think the present behavior is correct, regardless of the pdf > version. It is not really a hard-coded dpi at all, it is a confusing > aspect of the way mpl uses variables called "dpi". (But someone who > knows more about pdf may correct me if necessary.) > > Eric Hmm, that makes sense. I was just confused by the fact that some programs use points as dots or pixels when displaying to screen. For example, that's how my presentation software chooses to display embedded PDFs. As a result, an 8in x 6in PNG shows up as a different size than an 8in x 6in PDF. (Yes, you can resize, but this screws up all the font sizes). Anyway, I guess this is more an issue with my presentation software than anything else. Thanks for the clarification, Eric. -Tony -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
[matplotlib-devel] rendering problem in mplot3d
Hi, There seems to be a problem in how 3D surfaces and lines are rendered in mplot3d. The following is a simple script that plots a yellow sphere, a blue wireframe on the surface of the sphere, and a red wireframe outside the sphere. The semi-transparent yellow sphere is rendered beautifully. The blue wireframe can only be seen with certain viewing angles. The red wireframe is seen all the time, but its part that is supposedly behind the sphere appears in front of the sphere. Did I do something wrong or is it a bug of mplot3d? I am using matplotlib 1.0.0 on Mac OS X 10.6. Thanks! -Mike === from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.gca(projection='3d') u = np.linspace(0, 2 * np.pi, 100) v = np.linspace(0, np.pi, 100) x = 10 * np.outer(np.cos(u), np.sin(v)) y = 10 * np.outer(np.sin(u), np.sin(v)) z = 10 * np.outer(np.ones(np.size(u)), np.cos(v)) ax.plot_surface(x, y, z, rstride=4, cstride=4, color='y', alpha=0.5) ax.plot_wireframe(x, y, z, rstride=10, cstride=10, color='b') ax.plot_wireframe(x*1.1, y*1.1, z*1.1, rstride=20, cstride=20, color='r') -- This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone? Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first ___ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel