# Chargement des libraries
import plotly.express as px
import numpy as np
import pandas as pd
names=["b","c","d","e","f","g","h"]
T=np.array([1.51087637, 2.42180746 , 4.049959 , 6.099043 ,9.20558, 12.354473, 18.767953])
r=np.array([1.73e9,2.37e9,3.33e9,4.38e9,5.76e9,7.01e9,9.27e9])
# Figure
fig=px.scatter(x=r**3, y=T**2,labels=dict(y="(Période)² (jour²)", x="(Rayon de l'orbite)³ (m³)"),text=names,title="Troisième loi de Kepler dans le système TRAPPIST 1")
fig.update_traces(textposition='bottom center', textfont_size=18)
fig.update_traces(mode="markers+text", customdata=names, hovertemplate ='<b>%{customdata}</b>', marker=dict(size=20, color="MediumPurple"))
# Tracer la loi de Kepler
y=(4*np.pi**2/(6.67e-11*1.78e29)*(9.27e9)**3)/(24.*3600.)**2
#fig.add_shape(type="line", xref="x", yref="y", x0=0, y0=0, x1=(9.27e9)**3, y1=y,line=dict(color="LightSeaGreen",width=3,dash="dot"))
fig.add_scatter(x=[0, (9.27e9)**3],y=[0,y], name="Formule de Kepler", mode="lines", marker=dict(color="LightSeaGreen"))

fig.update_layout(showlegend=True, template="plotly_dark",hoverlabel=dict(font_size=18))
fig.update_layout(legend=dict(
  yanchor="top",
  y=0.99,
  xanchor="left",
  x=0.01))
# Zoom to fit
fig.show(config= {'displaylogo': False})