12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- from nicegui import ui
- from . import doc
- @doc.demo(ui.highchart)
- def main_demo() -> None:
- from random import random
- chart = ui.highchart({
- 'title': False,
- 'chart': {'type': 'bar'},
- 'xAxis': {'categories': ['A', 'B']},
- 'series': [
- {'name': 'Alpha', 'data': [0.1, 0.2]},
- {'name': 'Beta', 'data': [0.3, 0.4]},
- ],
- }).classes('w-full h-64')
- def update():
- chart.options['series'][0]['data'][0] = random()
- chart.update()
- ui.button('Update', on_click=update)
- @doc.demo('Chart with extra dependencies', '''
- To use a chart type that is not included in the default dependencies, you can specify extra dependencies.
- This demo shows a solid gauge chart.
- ''')
- def extra_dependencies() -> None:
- ui.highchart({
- 'title': False,
- 'chart': {'type': 'solidgauge'},
- 'yAxis': {
- 'min': 0,
- 'max': 1,
- },
- 'series': [
- {'data': [0.42]},
- ],
- }, extras=['solid-gauge']).classes('w-full h-64')
- @doc.demo('Chart with draggable points', '''
- This chart allows dragging the series points.
- You can register callbacks for the following events:
- - `on_point_click`: called when a point is clicked
- - `on_point_drag_start`: called when a point drag starts
- - `on_point_drag`: called when a point is dragged
- - `on_point_drop`: called when a point is dropped
- ''')
- def drag() -> None:
- ui.highchart(
- {
- 'title': False,
- 'plotOptions': {
- 'series': {
- 'stickyTracking': False,
- 'dragDrop': {'draggableY': True, 'dragPrecisionY': 1},
- },
- },
- 'series': [
- {'name': 'A', 'data': [[20, 10], [30, 20], [40, 30]]},
- {'name': 'B', 'data': [[50, 40], [60, 50], [70, 60]]},
- ],
- },
- extras=['draggable-points'],
- on_point_click=lambda e: ui.notify(f'Click: {e}'),
- on_point_drag_start=lambda e: ui.notify(f'Drag start: {e}'),
- on_point_drop=lambda e: ui.notify(f'Drop: {e}')
- ).classes('w-full h-64')
- doc.reference(ui.highchart)
|