add web_widget_mpld3_chart

This commit is contained in:
Jordi Ballester Alomar
2020-02-11 12:04:29 +01:00
committed by Lois Rilo
parent 5ced8beb3b
commit 9421d0e578
11 changed files with 1635 additions and 0 deletions

View File

@@ -0,0 +1 @@
* Jordi Ballester Alomar <jordi.ballester@forgeflow.com>

View File

@@ -0,0 +1,4 @@
* This module uses the library `mpld3 <https://github.com/mpld3/mpld3>`__
which is under the open-source BSD 3-clause "New" or "Revised" License.
Copyright (c) 2013, Jake Vanderplas
* Odoo Community Association (OCA)

View File

@@ -0,0 +1,5 @@
This module adds the possibility to insert mpld3 charts into Odoo standard views.
This is an interactive D3js-based viewer which brings matplotlib graphics to the browser.
If you want to see some samples of mpld3's capabilities follow this `link
<http://mpld3.github.io/>`_.

View File

@@ -0,0 +1,3 @@
You need to install the python mpld3 library::
pip install mpld3

View File

@@ -0,0 +1,28 @@
To insert a mpld3 chart in a view proceed as follows:
#. Import the required libraries::
import matplotlib.pyplot as plt, mpld3
#. Declare a text computed field like this::
mpld3_chart = fields.Text(
string='Mpld3 Chart',
compute='_compute_mpld3_chart',
)
#. In its computed method do::
def _compute_mpld3_chart(self):
for rec in self:
# Design your mpld3 figure:
plt.scatter([1, 10], [5, 9])
figure = plt.figure()
rec.mpld3_chart = mpld3.fig_to_html(figure)
#. In the view, add something like this wherever you want to display your
mpld3 chart::
<div>
<field name="mpld3_chart" widget="mpld3_chart" nolabel="1"/>
</div>