posit-dev / py-shinywidgets

Render ipywidgets inside a PyShiny app
MIT License
41 stars 2 forks source link

Trouble with sizing altair/vega charts #100

Closed cpsievert closed 7 months ago

cpsievert commented 1 year ago

Even when setting both altair's .properties() and the underlying vega ipywidget's sizing API, there is no effect on the size...

from shiny import App, ui
from shinywidgets import output_widget, render_widget, as_widget
import altair as alt
from vega_datasets import data

app_ui = ui.page_fluid(
    output_widget("plot")
)

def server(input, output, session):

    @output(id="plot")
    @render_widget
    def _():
        cars = data.cars()
        fig = alt.Chart(cars).mark_point().encode(
            x='Horsepower',
            y='Miles_per_Gallon',
            color='Origin',
        )
        fig.properties(height=600)
        w = as_widget(fig)
        w.layout.height = "600px"
        return w

app = App(app_ui, server)