PlotlyChart Control
Displays a [Plotly](https://plotly.com/python/) chart.
Requirements
plotly Python packagekaleido Python packageSee [installation guide](https://docs.flet.dev/charts/#installation) for details.
Inheritance
flet.ContainerProperties
figure
plotly.graph_objects.Figureoriginal_size
boolFalseFalse, it fits its configured bounds.Examples
Example 1: Line Chart
import flet_charts as fch
import plotly.express as px
import flet as ftdef main(page: ft.Page):
df = px.data.gapminder().query("continent=='Oceania'")
fig = px.line(df, x="year", y="lifeExp", color="country")
page.add(fch.PlotlyChart(figure=fig, expand=True))
ft.run(main)
Example 2: Bar Chart
import flet_charts as fch
import plotly.express as px
import flet as ftdef main(page: ft.Page):
df = px.data.gapminder().query("continent == 'Oceania'")
fig = px.bar(
df,
x="year",
y="pop",
hover_data=["lifeExp", "gdpPercap"],
color="country",
labels={"pop": "population of Canada"},
height=400,
)
page.add(fch.PlotlyChart(figure=fig, expand=True))
ft.run(main)
Example 3: Pie Chart
import flet_charts as fch
import plotly.graph_objects as go
import flet as ftdef main(page: ft.Page):
labels = ["Oxygen", "Hydrogen", "Carbon_Dioxide", "Nitrogen"]
values = [4500, 2500, 1053, 500]
fig = go.Figure(data=[go.Pie(labels=labels, values=values)])
page.add(fch.PlotlyChart(figure=fig, expand=True))
ft.run(main)
Example 4: Box Plot
import flet_charts as fch
import plotly.graph_objects as go
import flet as ftdef main(page: ft.Page):
x = [
"day 1", "day 1", "day 1", "day 1", "day 1", "day 1",
"day 2", "day 2", "day 2", "day 2", "day 2", "day 2",
]
fig = go.Figure()
fig.add_trace(go.Box(y=[0.2, 0.2, 0.6, 1.0, 0.5, 0.4, 0.2, 0.7, 0.9, 0.1, 0.5, 0.3], x=x, name="kale", marker_color="#3D9970"))
fig.add_trace(go.Box(y=[0.6, 0.7, 0.3, 0.6, 0.0, 0.5, 0.7, 0.9, 0.5, 0.8, 0.7, 0.2], x=x, name="radishes", marker_color="#FF4136"))
fig.add_trace(go.Box(y=[0.1, 0.3, 0.1, 0.9, 0.6, 0.6, 0.9, 1.0, 0.3, 0.6, 0.8, 0.5], x=x, name="carrots", marker_color="#FF851B"))
fig.update_layout(yaxis_title="normalized moisture", boxmode="group")
page.add(fch.PlotlyChart(figure=fig, expand=True))
ft.run(main)