import plotly.graph_objects as go from plotly.subplots import make_subplots import plotly.io as pio import plotly.express as px pio.templates.default = "seaborn" import pandas as pd import re curvas_a_ocultar = ['Depreciación Implicita','Inflación Implicita','Depreciación Real Implicta'] Implicita_Fig = make_subplots( rows=1, cols=1, shared_xaxes=True, vertical_spacing=0.03, specs=[[{"type": "scatter"}]] ) Implicita_Fig.add_trace(go.Scatter(x=Curva_CUI[(Curva_CUI.fecha == Fecha_Reporte) & (Curva_CUI.Plazo <= 20) ].Plazo, y=Curva_CUI[(Curva_CUI.fecha == Fecha_Reporte) & (Curva_CUI.Plazo <= 20)].valor/100, line = dict(color='red', width=4, dash='solid'), name='CUI'),row=1, col=1) Implicita_Fig.add_trace(go.Scatter(x=Curva_CUD[(Curva_CUD.fecha == Fecha_Reporte) & (Curva_CUD.Plazo <= 20) ].Plazo, y=Curva_CUD[(Curva_CUD.fecha == Fecha_Reporte) & (Curva_CUD.Plazo <= 20)].valor/100, line = dict(color='green', width=4, dash='solid'), name='CUD'),row=1, col=1) Implicita_Fig.add_trace(go.Scatter(x=Curva_ITLUP[(Curva_ITLUP.fecha == Fecha_Reporte) & (Curva_ITLUP.Plazo <= 20) ].Plazo, y=Curva_ITLUP[(Curva_ITLUP.fecha == Fecha_Reporte) & (Curva_ITLUP.Plazo <= 20)].valor/100, line = dict(color='blue', width=4, dash='solid'), name='ITLUP'),row=1, col=1) Implicita_Fig.add_trace(go.Scatter(x=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20) ].Plazo_CUI, y=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20)].Depreciacion_Implicta/100, line = dict(color='purple', width=4, dash='longdashdot'), name='Depreciación Implicita'),row=1, col=1) Implicita_Fig.add_trace(go.Scatter(x=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20) ].Plazo_CUI, y=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20)].Inflacion_Implicta/100, line = dict(color='orange', width=4, dash='dashdot'), name='Inflación Implicita'),row=1, col=1) Implicita_Fig.add_trace(go.Scatter(x=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20) ].Plazo_CUI, y=Curvas[(Curvas.fecha_CUI == Fecha_Reporte) & (Curvas.Plazo_CUI <= 20)].Depreciación_real_Implicta/100, line = dict(color='grey', width=4, dash='longdash'), name='Depreciación Real Implicta',text=Curvas.Depreciación_real_Implicta),row=1, col=1) Implicita_Fig.update_layout( height=600,width=1500, showlegend=True, title_text="Curvas", ) Implicita_Fig.layout.yaxis.tickformat = ',.1%' Implicita_Fig.update_traces(texttemplate='%{text:,.2%}',textposition='top center') Implicita_Fig.update_xaxes(showline=True, linewidth=0.1, linecolor='grey', mirror=True) Implicita_Fig.update_yaxes(showline=True, linewidth=0.1, linecolor='grey', mirror=True) Implicita_Fig.for_each_trace(lambda trace: trace.update(visible="legendonly") if trace.name in curvas_a_ocultar else ()) Implicita_Fig.show()