Thanks for trying to help Andreas.

Those suggestions did not really solve the problem, but I did realize where
I was going astray and post that information here to help others.  I did see
others new to the libraries looking for similar help.

First the conceptual misunderstanding:  I did not realize the 'figure size',
as set by something like
plt.gcf().set_size_inches(6,6) includes all area: white plot area, grey
surrounding area, labels, etc.  Everything inside the window frame.  A bad
coincidence slowed my realization.  I measured the white area inside the
axis to be 480x464 pixels, which  at 80 dpi worked almost for a 6x6.  So, I
thought it was close but off just a bit.  But, I had set the dpi to 100, and
the total frame was exactly 600x600 as it should be.  The dimensions of the
plot area inside the axes was being set automatically, and just
coincidentally worked out to be 480 in one dimension.

Solution to get truly square plots of known size with axis scale set:
    fig = plt.gcf()
    fig.set_dpi(100)  # or whatever you like
    fig.set_size_inches((6.0,6.0),forward=True) #for example
    # to control the fraction of the total area set aside for axis tick mark
labels, etc. 
    # this is key to keeping the interior plot area square
    plt.subplots_adjust(left=0.10,bottom=0.10,right=0.95,top=0.95) 
    ## plt.axis('equal')  # I had this for a while but do not think it
useful
    plt.gca().grid(True)
    # to keep the axis scale from being automatically changed as line2d
objects are added or removed
    plt.gca().set_autoscale_on(False)  
    plt.axis([1.0,9.0,1.0,9.0])  # set the axis scale as appropriate
    plt.show() 
    fig.canvas.draw()

Cheers
Kersey

-- 
View this message in context: 
http://www.nabble.com/square-plots-with-linear-equal-axes-----help-tp24638812p24672100.html
Sent from the matplotlib - users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to