Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/plotly/dash-pivottable
react-pivottable in Dash
https://github.com/plotly/dash-pivottable
Last synced: 10 days ago
JSON representation
react-pivottable in Dash
- Host: GitHub
- URL: https://github.com/plotly/dash-pivottable
- Owner: plotly
- License: mit
- Created: 2019-02-25T22:21:36.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-07T17:25:59.000Z (6 months ago)
- Last Synced: 2024-08-14T07:10:02.439Z (4 months ago)
- Language: Python
- Size: 11.5 MB
- Stars: 192
- Watchers: 18
- Forks: 52
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- jimsghstars - plotly/dash-pivottable - react-pivottable in Dash (Python)
README
[![CRAN status](https://www.r-pkg.org/badges/version-ago/dashPivottable)](https://cran.r-project.org/web/packages/dashPivottable/index.html)
[![](http://cranlogs.r-pkg.org/badges/grand-total/dashPivottable)](https://cran.r-project.org/package=dashPivottable)
[![](https://cranlogs.r-pkg.org/badges/dashPivottable)](https://cran.r-project.org/package=dashPivottable)# Dash Pivottable
Dash Pivottable is a Dash component wrapping the [react-pivottable library](https://github.com/plotly/react-pivottable/), created by Nicolas Kruchten. It lets you build interactive pivot tables using purely Python.
![pivot table demo](images/pivottable-demo.gif)
## Getting Started
### Install with virtualenv
First, install `virtualenv` with `pip install virtualenv`.Then, make sure to clone this project, create a venv and install requirements:
```commandline
git clone https://github.com/plotly/dash-pivottable.git
cd dash_pivottable
python3 -m venv ./venv
source venv/bin/activate
pip install -r requirements.txt
```And simply run the example in the venv:
```commandline
python usage.py
```## References
The following parameters can be modified:
- `id` *(string; optional)*: The ID used to identify this component in Dash callbacks
- `data` *(list; optional)*: The input data
- `hiddenAttributes` *(list; optional)*: contains attribute names to omit from the UI
- `hiddenFromAggregators` *(list; optional)*: contains attribute names to omit from the aggregator arguments dropdowns
- `hiddenFromDragDrop` *(list; optional)*: contains attribute names to omit from the drag'n'drop portion of the UI
- `menuLimit` *(number; optional)*: maximum number of values to list in the double-click menu
- `unusedOrientationCutoff` *(number; optional)*: If the attributes' names' combined length in characters exceeds this
value then the unused attributes area will be shown vertically to the
left of the UI instead of horizontally above it. 0 therefore means
'always vertical', and Infinity means 'always horizontal'.The following props can be used as an input to callbacks, but can't be modified:
- `cols` *(list; optional)*: Which columns are currently in the column area
- `colOrder` *(string; optional)*: The order in which column data is provided to the renderer, must be one
of "key_a_to_z", "value_a_to_z", "value_z_to_a", ordering by value
orders by column total
- `rows` *(list; optional)*: Which rows is currently inside the row area.
- `rowOrder` *(string; optional)*: The order in which row data is provided to the renderer, must be one
of "key_a_to_z", "value_a_to_z", "value_z_to_a", ordering by value
orders by row total
- `aggregatorName` *(string; optional)*: Which aggregator is currently selected. E.g. Count, Sum, Average, etc.
- `vals` *(list; optional)*: Attribute names used as arguments to aggregator (gets passed to aggregator generating function)
- `rendererName` *(string; optional)*: Which renderer is currently selected. E.g. Table, Line Chart, Scatter
- `valueFilter` *(dictionnary; optional)*: Object whose keys are attribute names and values are objects of attribute value-boolean pairs which denote records to include or exclude from computation and rendering; used to prepopulate the filter menus that appear on double-clickDefault Values:
* `menuLimit`: 500
* `unusedOrientationCutoff`: 85
* `hiddenAttributes`: []
* `hiddenFromAggregators`: []
* `hiddenFromDragDrop`: []## FAQ
You can find the following FAQs in contributing.md:
- [Using a modified version of `react-pivottable` in your own `dash-pivottable` project](https://github.com/plotly/dash-pivottable/blob/master/CONTRIBUTING.md#contributing-faq)