Integridad académica en acción
innovación con open source e IA ética
Francisco Alfaro Medina
Valeska Canales Pozo
🥱 1° version \(<\) … \(<\) 😊 última version
Aprendizaje en acción
Tu primera versión será siempre horrible.
🤖 Tools: ChatGPT, Gemini, Napkin AI, Midjourney, Bolt
¿Cómo te ha parecido la presentación hasta ahora?
#| '!! shinylive warning !!': |
#| shinylive does not work in self-contained HTML documents.
#| Please set `embed-resources: false` in your metadata.
#| standalone: true
#| viewerHeight: 800
from shiny import App, ui, render, reactive
import matplotlib.pyplot as plt
import io
import base64
# Function to generate the plot dynamically based on input values
def create_plot(yes_value, no_value):
categories = ['Sí', 'No']
values = [yes_value, no_value]
fig, ax = plt.subplots(figsize=(14, 5))
ax.bar(categories, values, color=['lightblue', 'salmon'])
ax.set_title('¿Te ha gustado la presentación?')
# Convert the image to base64 for display in Shiny
buf = io.BytesIO()
plt.savefig(buf, format="png")
plt.close(fig)
buf.seek(0)
encoded_image = base64.b64encode(buf.getvalue()).decode()
return f'<img src="data:image/png;base64,{encoded_image}" style="max-width:100%;">'
# UI definition
app_ui = ui.page_fluid(
ui.h2("Encuesta Interactiva"),
# Sliders to change values dynamically
ui.input_slider("yes_value", "Respuestas 'Sí':", min=0, max=50, value=20),
ui.input_slider("no_value", "Respuestas 'No'", min=0, max=50, value=10),
# Output area for the plot
ui.output_ui("plot_output")
)
# Server function
def server(input, output, session):
@output
@render.ui
def plot_output():
return ui.HTML(create_plot(input.yes_value(), input.no_value()))
# Create the Shiny app
app = App(app_ui, server)
Positivos
Negativos
🔗 Nuestro Sitio Web: seth-nut.github.io/resources