Comments (6)
Great idea! I like the sound of a common core module with extensions for specific charting libraries.
As a related aside, there is a really interesting talk from PyCon 2017 called The Python Visualization Landscape by Jake VanderPlas:
from django-chartflo.
zero javascript fatigue
Woohoo!
from django-chartflo.
To follow up on this: we now have Vega Lite by default. We still have to make a first implementation of another rendering engine to find the best design for this. I plan to research in two directions:
-
For the javascript rendering engines: generate VL json files just as we now generate the html. These files can be used in templates by the js libs as data source. I'll implement the json generation quickly so that we can start working in this direction
-
For Bokeh it is a special case: it has its own encoding and does not use VL. At some point I will try an implementation because their rendering engine is nice, providing interactivity on the charts. This is for later as Bokeh recently made some breaking changes so I'll concentrate on other tasks while waiting for the lib to be a little more stable
I think we can implement a per-chart rendering engine option: each chart could declare what rendering engine it wants
from django-chartflo.
Okay I reorganized the templates folder and did small modifications in views to support multiple js rendering engines.
We can now add additional engines by creating folders in templates/chartlo
and use the generic view with a engine = "chartjs"
value to start developing with new libraries. This modification only affects the generic view for now
from django-chartflo.
A new branch has been created for server side rendering #16 where the charts are generated by python. It is efficient but can not replace the current approach as the charts are pregenerated: it can not chart streaming data for example.
from django-chartflo.
The Vega Lite rendering engine has been implemented in a branch #15
from django-chartflo.
Related Issues (20)
- Use Altair to encode data to the Vega Lite format HOT 2
- Development roadmap and directions HOT 11
- Composable dashboards HOT 16
- Completely remove amcharts from repository if no longer in use HOT 2
- Add docstrings to all class and function definitions
- Remove empty files HOT 3
- Improve project test coverage
- Charts regeneration on data change HOT 17
- Create documentation and host it at Read the docs HOT 2
- Eliminate ChartsView HOT 1
- Move ChartController's non-django methods to a lower level python module HOT 1
- Display tabular data in dashboards HOT 2
- Support for Holoviews / Bokeh rendering engine
- Dashboards views HOT 1
- Example Jupyter notebooks HOT 3
- About the API surface HOT 2
- Support for Chartjs
- Ability to draw charts HOT 2
- Online demo
- Improvements in version 0.5 HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-chartflo.