Spaces:
Sleeping
Sleeping
| # Ejemplo usando st.bokeh_chart en lugar de st.components.v1.html | |
| from bokeh.plotting import figure | |
| from bokeh.models import ColumnDataSource, HoverTool | |
| import streamlit as st | |
| import numpy as np | |
| import random | |
| # Generar datos | |
| N = 10 | |
| x = np.random.rand(N) | |
| y = np.random.rand(N) | |
| red_image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAF/wK+bNykAAAAAElFTkSuQmCC" | |
| blue_image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mN8/f8/AwAI/AL+fB/9AAAAAElFTkSuQmCC" | |
| images = [random.choice([red_image, blue_image]) for _ in range(N)] | |
| labels = ["subset1" if img == red_image else "subset2" for img in images] | |
| source = ColumnDataSource(data=dict(x=x, y=y, img=images, label=labels)) | |
| p = figure(title="Interactive Plot with Hover Images", tools="hover", width=600, height=600) | |
| p.scatter('x', 'y', size=15, source=source, fill_color="navy", alpha=0.5) | |
| hover = p.select_one(HoverTool) | |
| hover.tooltips = """ | |
| <div> | |
| <div> | |
| <span style="font-size: 12px; font-weight: bold;">Label: @label</span> | |
| </div> | |
| <div> | |
| <img src="@img" alt="Image" style="width:100px;"/> | |
| </div> | |
| </div> | |
| """ | |
| st.bokeh_chart(p) | |