On Wednesday, 16 October 2013 18:31:09 UTC-4, Mark Lawrence wrote: > On 16/10/2013 22:34, Brandon La Porte wrote: > > > I have the following code to make a plot of 4 different supply curves > > (economics). > > > > > > > > > from matplotlib import pyplot as plt > > > > > > price = range(0,51) > > > q1 = [x/2.0 for x in price] > > > q2 = [x/4.0 for x in price] > > > q3 = [x/5.0 for x in price] > > > q4 = [x/10.0 for x in price] > > > > > > markers_on = [20, 40] > > > > > > plt.plot(q1,price,'b',q2,price,'g',q3,price,'r', q4, price, 'y' ) > > > plt.title('Supply Curve') > > > plt.xlabel('Quantity Supplied (Thousands per month') > > > plt.ylabel('Price ($)') > > > #plt.legend(('Kd = %d'%kd, 'Kd = %d'%kd2, 'Kd = %d'% kd3, 'Step'), loc=4) > > > plt.legend(('p = 2Qs', 'p = 4Qs', 'p = 5Qs', 'p = 10Qs'), loc=4) > > > > > > plt.grid() > > > plt.show() > > > > > > I would like to place markers on the 4 curves when the price is equal to > > $20 label it A, and when the price is equal to $40 and label it B. Does > > anyone know how I can accomplish this. > > > > > > > If this matplotlib.pyplot.text described here > > http://matplotlib.org/api/pyplot_api.html isn't any good I suggest you > > ask on the dedicated matplotlib users mailing list see > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -- > > Roses are red, > > Violets are blue, > > Most poems rhyme, > > But this one doesn't. > > > > Mark Lawrence
Hi Mark Thanks for the quick reply. I went through the documentation briefly and made some changes. from matplotlib import pyplot as plt q1 = 2.0 q2 = 4.0 q3 = 5.0 q4 = 10.0 p1 = 20 p2 = 40 price = range(0,51) qlist1 = [x/q1 for x in price] qlist2 = [x/q2 for x in price] qlist3 = [x/q3 for x in price] qlist4 = [x/q4 for x in price] plt.plot(qlist1,price,'b',qlist2,price,'g',qlist3,price,'r', qlist4, price, 'y' ) plt.plot(p1/q1,p1,'ko', p1/q2, p1, 'ko', p1/q3,p1, 'ko', p1/q4, p1, 'ko') plt.plot(p2/q1,p2,'ks', p2/q2, p2, 'ks', p2/q3,p2, 'ks', p2/q4, p2, 'ks') plt.title('Supply Curve') plt.xlabel('Quantity Supplied (Thousands per month)') plt.ylabel('Price ($)') plt.legend(('p = 2Qs', 'p = 4Qs', 'p = 5Qs', 'p = 10Qs'), loc=4) plt.grid() plt.show() I'm sure there is a better or more "Pythonic" way to do this, and I still need to figure out how to label the individual points. Again thanks for the links, and I'll update this post when I figure it out. Thanks Brandon -- https://mail.python.org/mailman/listinfo/python-list