pandas plotly import gradio as gr import pandas as pd import plotly.graph_objects as go def load_csv(file,titulo,tipo_de_mapa,escala_de_cor,titulo_na_barra_de_cores): df = pd.read_csv(file) contour_dict = { 'x': df[df.columns[0]], 'y': df[df.columns[1]], 'z': df[df.columns[2]], 'connectgaps': True, 'colorscale': escala_de_cor, } if titulo_na_barra_de_cores: contour_dict['colorbar'] = {"title": df.columns[2]} match tipo_de_mapa: case 'Contorno': contour_dict['contours'] = {"showlines": True} fig = go.Figure(data =go.Contour(**contour_dict)) case 'Calor': fig = go.Figure(data =go.Heatmap(**contour_dict)) fig.update_layout( xaxis_title=df.columns[0], yaxis_title=df.columns[1], font=dict( family="Courier New, monospace", size=18, color="RebeccaPurple" ), title={ 'text':titulo, 'xanchor': 'right', 'x': 0.5, 'yanchor': 'top' } ) return fig iface = gr.Interface( fn=load_csv, inputs=[ 'file', 'text', gr.Dropdown(value='Contorno',choices=['Contorno','Calor']), gr.Dropdown(value='Turbo',choices=['Turbo','Viridis','gray','Picnic','Earth','HSV']), gr.Checkbox(value=True) ], outputs=gr.Plot(),submit_btn='Plotar',clear_btn='Limpar',allow_flagging='never', title="ฅ^•⩊•^ฅ Cat Surface", description='Faça o upload de um arquivo no formato CSV. Assegure-se de que a primeira coluna contenha as coordenadas X, a segunda as coordenadas Y, e a terceira, uma variável de interesse específica.' ) iface.launch()