Hi there, I want to examine a vector field and therefore i used "quiver" to visualize said field:
> import numpy as np > import matplotlib.pyplot as plt > > # points > x, y = np.meshgrid(np.arange(0, 2*np.pi, 0.1), > np.arange(0, 1*np.pi, 0.1)) > # derivatives > dx = -2*np.sin(x)*np.cos(y) > dy = np.cos(x)*np.sin(y) > > # plot > plt.figure() > plt.quiver(dx, dy, color='b') > > # beautiful axis > a = plt.gca() > x_a, y_a = a.get_xaxis(), a.get_yaxis() > a.axis('tight') > # TODO: We should not multiply with 10 here. > x_a.set_ticks(np.arange(0, 2*np.pi*10+1, np.pi*10/4)) > y_a.set_ticks(np.arange(0, 1*np.pi*10+1, np.pi*10/4)) > labels = [ > r'$0$', > r'$\frac{1}{4}\pi$', > r'$\frac{1}{2}\pi$', > r'$\frac{3}{4}\pi$', > r'$\pi$', > r'$\frac{5}{4}\pi$', > r'$\frac{3}{2}\pi$', > r'$\frac{7}{4}\pi$', > r'$2 \pi$'] > a.set_xticklabels(labels) > a.set_yticklabels(labels[:5]) > > # show > plt.show() (The plot looks like a double swirl, if anyone is interested in that information) At first I do not know why I have to multiply with 10 at the ticks, but thats not the point. It is much more important that I would like to set the image to a certain width before saving. It should be both "tight" and "equal", so after setting the width the height could be calculated automatically. As a workaround I use the images and strech them vertically, but then the x/y axis tick labels look strange. So: How to set a certain width? Thanks and a merry Christmas, Keba ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users