Sorry, forgot to reply-to-all previously.

> Hi,
> 
> I am trying to make plot using following code:
> -----------

<snip>

> for i in range(len(l2)):
> plt.axvline(x=l1[i], ymin=0, ymax=l2[i], linewidth=2, color='r')

axvline uses the [0, 1] range for it coordinates, not the coordinates set by 
the y-axis (which are set by the data): 
http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.axvline 
(which states "With the default values of ymin = 0 and ymax = 1, this line will 
always span the vertical extent of the axes, regardless of the ylim 
settings...")

You don't readily notice it, since your data lies in roughly the same [0, 1] 
interval. If your data were in the [0, 10] interval, you would have immediately 
spotted it.

Why don't you use eg:
plt.bar(left=l1, height=l2)

(which also removes the extra for loop)


  Evert



> plt.axis([350, 650, 0.0, max(l2)])
> plt.grid(True)
> savefig(f2[0]+"-"+"uv.png",dpi=(600/8))
> plt.show()
> ----------------
> 
> My problem is the output plot I am getting is not showing correct values in 
> the plot as are in the input file (MS.txt - attached). It looks like it is 
> scaled to lower value.


_______________________________________________
Tutor maillist  -  [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to