plt.figure(figsize=(15, 6)) plt.title('Particle Size distribution curve plot by Anand Prabhakar', fontsize=15) plt.scatter(logs, p_finer,c='r', s=20, cmap=plt.cm.rainbow) plt.scatter(Dx, Dy, c = 'g', s=80) plt.plot(logs, p_finer,c='b') plt.legend(['observed points', 'Dx points', 'curve'], loc='lower right') plt.annotate('D60 => 1.23', xy =(1.23, 60),xytext =(1,70),arrowprops = dict(facecolor ='r',shrink = 1)) plt.annotate('D30 => 0.46', xy =(0.46, 30),xytext =(0.6,20), arrowprops = dict(facecolor ='y')) plt.annotate('D10 => 0.77', xy =(0.77, 10),xytext =(0.8,20), arrowprops = dict(facecolor ='r')) plt.xlabel("log10(n); (where n = sieve size))",fontsize=12) plt.ylabel("% finer",fontsize=12) plt.hlines([10], 0,0.77, colors='y') plt.hlines([30], 0,0.46, colors='y') plt.hlines([60], 0,1.23, colors='y') plt.vlines([0.77], 0,10, colors='r') plt.vlines([0.46], 0,30, colors='r') plt.vlines([1.23], 0,60, colors='r') plt.show()