#!/usr/bin/env python
# -*- coding: utf-8 -*-

import matplotlib.pyplot as plt
import numpy as np

# Préparation du graphique
plt.clf()
plt.grid()
plt.xlabel("1/a^2 (m^-2)")
plt.ylabel("L (m)")
plt.title("L=f(1/a^2)")

# Données
a = np.array([20, 30, 50, ..., 200, 500]) # Remplacer les pointillés par votre valeur expérimentale en µm
L = np.array([16.2, 10.1, 7.0, ..., 1.9, 0.5]) # Remplacer les pointillés par votre mesure expérimentale en cm

# Conversions dans les unités SI
a = a * 10**(-6) # m
L = L * 10**(-2) # m

# Grandeur y en ordonnée
y = L

# Grandeur x en abscisse
x = # Compléter avec la relation de la grandeur à placer en abscisse

# Tracé du modèle linéaire "y = k * x"
def tracer_modele_lineaire(x,k):
    x = np.append(x,0)
    yModele = k*x
    plt.plot(x,yModele,'g-',label='Modélisation linéaire : y = k * x')
    plt.legend()


# Modélisation linéaire de la forme "y = k * x"
k = 300*10**(-12) # Modifier la valeur du paramètre "k" pour que la droite verte passe au plus près des points expérimentaux (dans la mesure du possible)

# Affichage
plt.plot(x,y,'b.')
tracer_modele_lineaire(x,k)
plt.show()



