DataPlotly is a plugin for QGIS that allows to create D3 like plots from spatial data. It is build on top of plotly, a javascript library which offers easy API for many languages such as Python, R, Matlab and NodeJS.
The plugin was created back in 2017 for the upcoming QGIS 3 version: today the plugin has been downloaded more than 50,000 times.
Creating plots is out of the main scopes of QGIS but thanks to the simple Python API it is easy enough to create additional scripts and plugins. Thanks to these APIs, DataPlotly is today a well maintained Python plugin with a growing community of developers, users and testers.
DataPlotly plots are completely interactive so that plot elements are directly linked with map items; therefore the user is able to query map items from the main plot canvas.
Thanks to a crowdfunding campaign launched in March 2019 during the annual QGIS User Conference, the functionalities of DataPlotly were extended: a complete refactoring of the code, more plots but especially the creation of plots in the layout composer.
More and more people are using the plugin to analyze the data and to create complex output reports of data (e.g. the Covid-19 pandemic
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Interactive Plots in QGIS with DataPlotly Framework
1. DataPlotly: interactive plots inDataPlotly: interactive plots in
QGIS, a crowdfunding storyQGIS, a crowdfunding story
Matteo Ghetta - andFaunalia QGIS Italia
4. D3: best plot solution?D3: best plot solution?
JavaScript library for plots
5. D3: best plot solution?D3: best plot solution?
JavaScript library for plots
From raw code to HTML
6. D3: best plot solution?D3: best plot solution?
JavaScript library for plots
From raw code to HTML
Simple plot customization with CSS
7. D3: best plot solution?D3: best plot solution?
JavaScript library for plots
From raw code to HTML
Simple plot customization with CSS
Interactive plots (zoom, pan, etc)
8. D3: best plot solution?D3: best plot solution?
JavaScript library for plots
From raw code to HTML
Simple plot customization with CSS
Interactive plots (zoom, pan, etc)
Dinamic querying of plot elements
23. Plots & QGIS?Plots & QGIS?
Plugins already available (with limitations)
Only a few plot types available
24. Plots & QGIS?Plots & QGIS?
Plugins already available (with limitations)
Only a few plot types available
No customizations
25. Plots & QGIS?Plots & QGIS?
Plugins already available (with limitations)
Only a few plot types available
No customizations
Exporting data in other so ware -> work
fragmentation
33. Plotly & ProcessingPlotly & Processing
Limitations:
Only a few plots available
No layout customization (legend, colors, etc)
34. Plotly & ProcessingPlotly & Processing
Limitations:
Only a few plots available
No layout customization (legend, colors, etc)
HTML only export
35. Plotly & ProcessingPlotly & Processing
Limitations:
Only a few plots available
No layout customization (legend, colors, etc)
HTML only export
Code duplication
36. Plotly & ProcessingPlotly & Processing
Limitations:
Only a few plots available
No layout customization (legend, colors, etc)
HTML only export
Code duplication
No plot and map interactivity
46. Timeline DataPlotlyTimeline DataPlotly
Simple code
Single UI for all plots
HTML or PNG export
Lots of customizations
Plugin released during the first Italian QGIS Hackfest
(2017-05-27)
56. Why a crowdfunding?Why a crowdfunding?
Missing functionalities:
Plots in the print composer
57. Why a crowdfunding?Why a crowdfunding?
Missing functionalities:
Plots in the print composer
More data defined properties
58. Why a crowdfunding?Why a crowdfunding?
Missing functionalities:
Plots in the print composer
More data defined properties
Saving the plot options (in project or external file)
59. Why a crowdfunding?Why a crowdfunding?
Missing functionalities:
Plots in the print composer
More data defined properties
Saving the plot options (in project or external file)
Code refactoring
60. Why a crowdfunding?Why a crowdfunding?
Missing functionalities:
Plots in the print composer
More data defined properties
Saving the plot options (in project or external file)
Code refactoring
Continuous integration (Travis)
73. What we didWhat we did
All the things we promised and lots more!
74. What we didWhat we did
All the things we promised and lots more!
Code is much simpler for other contributors
75. What we didWhat we did
All the things we promised and lots more!
Code is much simpler for other contributors
git diff --shortstat b073cb2f master
692 files changed, 11171 insertions(+), 64741 deletio
76. What we didWhat we did
All the things we promised and lots more!
Code is much simpler for other contributors
Repository dedicated to the user manual
git diff --shortstat b073cb2f master
692 files changed, 11171 insertions(+), 64741 deletio
77. Plots in the print composer (also atlas)Plots in the print composer (also atlas)
84. Case studiesCase studies
Salvatore Totò Fiandaca (ITA) - COVID-19 spreading
Mike Miller (USA) - Birds migration
Anita Graser (AUT) - Trees of Vienna
85. Case studiesCase studies
Salvatore Totò Fiandaca (ITA) - COVID-19 spreading
Mike Miller (USA) - Birds migration
Anita Graser (AUT) - Trees of Vienna
Saul Montoya - Hatari Labs (PER) - Deep water wells
86. Case studiesCase studies
Salvatore Totò Fiandaca (ITA) - COVID-19 spreading
Mike Miller (USA) - Birds migration
Anita Graser (AUT) - Trees of Vienna
Saul Montoya - Hatari Labs (PER) - Deep water wells
Paul Blottiere (FRA) - Plot backend study
87. Case studiesCase studies
Salvatore Totò Fiandaca (ITA) - COVID-19 spreading
Mike Miller (USA) - Birds migration
Anita Graser (AUT) - Trees of Vienna
Saul Montoya - Hatari Labs (PER) - Deep water wells
Paul Blottiere (FRA) - Plot backend study
American Samoa & Kurt Menke (USA) - Social
88. Case studiesCase studies
Salvatore Totò Fiandaca (ITA) - COVID-19 spreading
Mike Miller (USA) - Birds migration
Anita Graser (AUT) - Trees of Vienna
Saul Montoya - Hatari Labs (PER) - Deep water wells
Paul Blottiere (FRA) - Plot backend study
American Samoa & Kurt Menke (USA) - Social
Ujaval Gandhi (IND) - Criminality
89. Case studiesCase studies
Salvatore Totò Fiandaca (ITA) - COVID-19 spreading
Mike Miller (USA) - Birds migration
Anita Graser (AUT) - Trees of Vienna
Saul Montoya - Hatari Labs (PER) - Deep water wells
Paul Blottiere (FRA) - Plot backend study
American Samoa & Kurt Menke (USA) - Social
Ujaval Gandhi (IND) - Criminality
Alasdair Rae (GBR) - Rent costs in London
90. What's next?What's next?
Integrating other plot types
LizMap integration
Cloud syncronization
Adding other tests
Using plotly.express and pandas