2

Could someone tell me, why the size of the figure generated by the code below is not as expected.

How can I modify this code to generate a picture with 100*400 pixels?

import numpy as np
import matplotlib.pyplot as plt

fig  = plt.figure(figsize=(1,4),dpi=100,facecolor = 'red')
plt.show(fig)

screenshot

3
  • the picture generated by this code have 218*409 pixels, and I don't konw why? Commented Mar 11, 2016 at 6:17
  • Good point. I tried (very small changes to your code) and got 100dpi and 120x398 pixels. Size is in inches and dpi is dots per inch, so you should get 100 x 400. Commented Mar 11, 2016 at 6:20
  • But see this page: http://stackoverflow.com/questions/332289/how-do-you-change-the-size-of-figures-drawn-with-matplotlib So this is a possible duplicate. Commented Mar 11, 2016 at 6:26

1 Answer 1

1

You should set the dpi during savefig

import numpy as np
import matplotlib.pyplot as plt

fig  = plt.figure(figsize=(1,4),facecolor = 'red', dpi=100)
plt.savefig('test.png', dpi=100)

plt.show(fig)

Of course, it wont be perfect, but will be close ..

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.