import matplotlib.pyplot as plt
pKa1,pKa2=2.4,9.6
def f(pH):#représente HA
    return 100/(1+10**(pKa1-pH)+10**(pH-pKa2))
def g(pH):#représente H2A+
    return f(pH)*10**(pKa1-pH)
def h(pH):#représente A-
    return f(pH)*10**(pH-pKa2)
pH=[i*0.5 for i in range(29)]#faire varier le pH de 0 à 14 par pas de 0.5
HA=[f(u) for u in pH]#donner les valeurs des HA en liste par compréhension
H2A=[g(u) for u in pH]#donner les valeurs des H2A en liste par compréhension
A=[h(u) for u in pH]#donner les valeurs des A en liste par compréhension
plt.plot(pH,HA,label='H\u2082CO\u2083')#dessine HA
plt.plot(pH,H2A,label='HCO\u2083\u00b2'+"essai")#dessine H2A+
plt.plot(pH,A,label='CO\u20832-')#dessine A-
plt.legend()#légende les graphes
plt.xlabel("pH")#donne un nom à l'axe des x
plt.ylabel("pourcentage des espèces")#donne un nom à l'axe des y
plt.title("Diagramme de distribution de la leucine")
plt.grid()#représente la grille
plt.show()#montre le graphe

