Shimoku docs
  • 🚀QuickStart
    • Installation & Setup
    • Minimal APP example
    • Extended Example
    • Templates & tutorials
  • 🤖Artificial Intelligence
    • Classification
      • Train Classification
        • Train Classification Outputs
      • Predict Classification
        • Predict Classification Outputs
    • Generate Insights
      • Generate Insights Outputs
  • 🛠️Building Web App
    • Environment
      • Overview
      • Environment Variables
    • Management
      • Managing Universes
      • Managing Workspaces
      • Managing Boards
    • Menu
      • Changing the Menu Path
      • Updating the Menu Path
      • Deleting the Menu Path
    • Grid
      • Using the Grid
    • Theming
      • Colors Usage
    • Actions
    • Modals
    • IO
  • 💡Elements
    • Summary
    • Charts
      • Table
        • Buttons Column
        • Filters
        • Search bars
        • Colored labels
      • HTML
        • Raw HTML
        • Beautiful Titles
        • Background Indicators
        • Click to New Tab
        • Box With Button
        • Panel
      • Indicators
        • Indicator
        • Grouped Indicators
        • Vertical Indicators
        • Color by Value
        • Gauge Indicator
        • Indicators with Header
      • Scatter Charts
        • Scatter
        • Scatter with Effect
      • Line Charts
        • Line
        • Predictive Line
        • Segmented Line
        • Marked Line
        • Line With Confidence Area
        • Top Bottom Line Charts
        • Summary Line
      • Area Charts
        • Area
        • Stacked Area
        • Segmented Area
        • Top Bottom Area Charts
      • Bar Charts
        • Bar
        • Stacked Bar
        • Horizontal Bar
        • Stacked Horizontal Bar
        • Zero Centered Bar
      • Pie Charts
        • Pie
        • Doughnut
        • Rose
      • Gauge Charts
        • Shimoku Gauge
        • Speed Gauge
      • Input forms
        • Group chained Inputs
        • List input search
        • Conditional inputs
        • Audio input
        • Drag & Drop
      • Line and Bar
      • Waterfall
      • Annotated Chart
      • Heatmap
      • Radar
      • Sunburst
      • Tree
      • Treemap
      • Sankey Diagram
      • Funnel chart
      • iFrame
    • Composite Template Charts
      • Infographics text bubble
      • Chart and Modal Button
      • Chart and Indicators
    • Data Sets
      • Data Set Filters
    • Create your own charts
      • Free Echarts
      • Bento box
    • Features & Navigation
      • Tabs
      • History navigation & Breadcrumb
  • 🔍Advanced usage
    • CLI
    • Workflow Triggers
    • Code Generation
  • 🌍Cloud & Community
    • Shimoku Cloud
    • Shared links
    • Handling Workspaces & Users
      • User authentication
      • Inviting users
      • Creating users
      • Users with multi-workspace access
  • 🌐Releases
    • 2024
      • v.2.6
      • v.2.5
      • v.2.4
      • v.2.3
        • v.2.3.1
      • v.2.2
        • v.2.2.3
        • v.2.2.2
        • v.2.2.1
      • v.2.1
        • v.2.1.2
        • v.2.1.1
      • v.2.0
        • v.2.0.(1..4)
      • v.1.6
        • v.1.6.1
      • v.1.5
    • 2023
      • v.1.4
        • v.1.4.1
        • v.1.4.2
      • v.1.3
      • v.1.2
        • v.1.2.1
      • v.1.1
        • v.1.1.1
      • v.1.0
        • v.1.0.2
        • v.1.0.1
      • v.0.20
      • v.0.19
      • v.0.18
      • v.0.17
        • v.0.17.1
      • v.0.16
        • v.0.16.3
        • v.0.16.2
        • v.0.16.1
      • v.0.15
      • v.0.14
    • 2022
      • v.0.13
        • v.0.13.3
      • v.0.12
      • v.0.11
      • v.0.10
        • v.0.10.4
        • v.0.10.3
        • v.0.10.1
      • v.0.9
      • v.0.8
      • v.0.7
        • v.0.7.1
      • v.0.6
      • v.0.5
      • v.0.4
      • v.0.3
        • v0.3.2
        • v0.3.1
      • v.0.2
Powered by GitBook
On this page

Was this helpful?

  1. Elements

Data Sets

Most charts use data sets to store the data, and these data sets can be used in a variety of ways. There is a dedicated module to data sets which can be accessed through s.data:

s.data.append_to_data_set(
    uuid: Optional[str], name: Optional[str],
    data: Union[List[Dict], DataFrame]
) -> str

s.data.delete_data_set(uuid: Optional[str], name: Optional[str])


s.data.replace_data_from_data_set(
    uuid: Optional[str], name: Optional[str]
    data: Union[List[Dict], DataFrame],
):
       
s.data.get_data_from_data_set(
    uuid: Optional[str], name: Optional[str],
    limit: Optional[int]
) -> List[Dict]

But most of the time data sets will be created and managed through the module s.plt. When creating or deleting components and menu paths the necessary data sets will be managed automatically. By default the SDK will try to reuse as much resources as possible but in the case of data sets the user will have to specify that the data sets are the same, if not all the data from the data sets would have to be checked. To toggle the functionality the following methods are provided:

s.reuse_data_sets()  # to tell the SDK that the data sets won't change
s.update_data_sets() # to tell the SDK that the data has cahnged

Enabling this functionality will result in a notable speedup when reusing charts, and will optimize api calls.

Charts can share data sets between them, this can be useful for applying filters or aggregations to a single data set and affecting all charts that use it. To create the shared data sets the following function has to be used:

s.plt.set_shared_data(
    dfs: Dict[str, Union[List[Dict], pd.DataFrame]],
    custom_data: Dict[str, Any]
)

This function will enable the specified data sets to be referenced by name when creating the different charts, instead of passing a dataframe or similar structure to the data parameter of the charts that use data sets, a string can be passed which will be used as a reference of the shared data sets.

An example on how this feature can be used:

s.plt.set_shared_data(
    dfs={
        'data': [
            {'date': dt.date(2021, 1, 1), 'x': 5, 'y': 5},
            {'date': dt.date(2021, 1, 2), 'x': 6, 'y': 5},
            {'date': dt.date(2021, 1, 3), 'x': 4, 'y': 5},
            {'date': dt.date(2021, 1, 4), 'x': 7, 'y': 5},
            {'date': dt.date(2021, 1, 5), 'x': 3, 'y': 5},
        ]
    }
)

s.plt.bar(order=0, data='data', x='date', y='y')
s.plt.line(order=1, data='data', x='date', y='x')

When changing menu paths the shared data sets will reset, as data sets exist only in menu paths, so make sure that the data sets are initializated before using a data set reference name.

PreviousChart and IndicatorsNextData Set Filters

Last updated 1 year ago

Was this helpful?

💡