Save bearcart output to HTML and JSON.

        Parameters
        ----------
        html_path: string, default 'index.html'
            Path for html output
        data_path: string, default 'data.json'
            Path for data JSON output
        js_path: string, default 'rickshaw.min.js'
            If passed, the Rickshaw javascript library will be saved to the
            path. The file must be named "rickshaw.min.js"
        css_path: string, default 'rickshaw.min.css'
            If passed, the Rickshaw css library will be saved to the
            path. The file must be named "rickshaw.min.css"
        html_prefix: Prefix path to be appended to all the other paths for file
            creation, but not in the generated html file. This is needed if the
            html file does not live in the same folder as the running python
            script.

        Returns
        -------
        HTML, JSON, JS, and CSS

        Example
        --------
        >>>vis.create_chart(html_path='myvis.html', data_path='visdata.json'),
                            js_path='rickshaw.min.js',
                            cs_path='rickshaw.min.css')

def create_chart(self, html_path='index.html', data_path='data.json',
                     js_path='rickshaw.min.js', css_path='rickshaw.min.css',
                     html_prefix=''):
        '''Save bearcart output to HTML and JSON.

        Parameters
        ----------
        html_path: string, default 'index.html'
            Path for html output
        data_path: string, default 'data.json'
            Path for data JSON output
        js_path: string, default 'rickshaw.min.js'
            If passed, the Rickshaw javascript library will be saved to the
            path. The file must be named "rickshaw.min.js"
        css_path: string, default 'rickshaw.min.css'
            If passed, the Rickshaw css library will be saved to the
            path. The file must be named "rickshaw.min.css"
        html_prefix: Prefix path to be appended to all the other paths for file
            creation, but not in the generated html file. This is needed if the
            html file does not live in the same folder as the running python
            script.

        Returns
        -------
        HTML, JSON, JS, and CSS

        Example
        --------
        >>>vis.create_chart(html_path='myvis.html', data_path='visdata.json'),
                            js_path='rickshaw.min.js',
                            cs_path='rickshaw.min.css')
        '''

        self.template_vars.update({'data_path': str(data_path),
                                   'js_path': js_path,
                                   'css_path': css_path,
                                   'chart_id': self.chart_id,
                                   'y_axis_id': self.y_axis_id,
                                   'legend_id': self.legend_id,
                                   'slider_id': self.slider_id})

        self._build_graph()
        html = self.env.get_template('bcart_template.html')
        self.HTML = html.render(self.template_vars)

        with open(os.path.join(html_prefix, html_path), 'w') as f:
            f.write(self.HTML)

        with open(os.path.join(html_prefix, data_path), 'w') as f:
            json.dump(self.json_data, f, sort_keys=True, indent=4,
                      separators=(',', ': '))

        if js_path:
            js = resource_string('bearcart', 'rickshaw.min.js')
            with open(os.path.join(html_prefix, js_path), 'w') as f:
                f.write(js)
        if css_path:
            css = resource_string('bearcart', 'rickshaw.min.css')
            with open(os.path.join(html_prefix, css_path), 'w') as f:
                    f.write(css)