how to fill rainbow color under a curve in python matplotlib,plt.show()