https://github.com/pyecharts/pyecharts-snapshot
renders the output of pyecharts as png, jpeg, gif, svg, eps, pdf and raw base64
https://github.com/pyecharts/pyecharts-snapshot
base64 chart eps gif jpeg pdf png svg
Last synced: 5 months ago
JSON representation
renders the output of pyecharts as png, jpeg, gif, svg, eps, pdf and raw base64
- Host: GitHub
- URL: https://github.com/pyecharts/pyecharts-snapshot
- Owner: pyecharts
- Created: 2017-08-16T22:03:22.000Z (almost 9 years ago)
- Default Branch: dev
- Last Pushed: 2022-08-03T18:26:54.000Z (almost 4 years ago)
- Last Synced: 2025-10-30T12:55:56.387Z (8 months ago)
- Topics: base64, chart, eps, gif, jpeg, pdf, png, svg
- Language: Python
- Homepage:
- Size: 8.69 MB
- Stars: 180
- Watchers: 8
- Forks: 39
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
Awesome Lists containing this project
- awesome-echarts - pyecharts-snapshot - Renders the output of pyecharts as png, jpeg, gif and pdf (Languages / Python)
README
================================================================================
pyecharts-snapshot
================================================================================
.. image:: https://api.travis-ci.org/pyecharts/pyecharts-snapshot.svg
:target: http://travis-ci.org/pyecharts/pyecharts-snapshot
.. image:: https://codecov.io/github/pyecharts/pyecharts-snapshot/coverage.png
:target: https://codecov.io/github/pyecharts/pyecharts-snapshot
.. image:: https://badge.fury.io/py/pyecharts-snapshot.svg
:target: https://pypi.org/project/pyecharts-snapshot
.. image:: https://pepy.tech/badge/pyecharts-snapshot/month
:target: https://pepy.tech/project/pyecharts-snapshot/month
.. image:: https://img.shields.io/github/stars/pyecharts/pyecharts-snapshot.svg?style=social&maxAge=3600&label=Star
:target: https://github.com/pyecharts/pyecharts-snapshot/stargazers
.. image:: https://img.shields.io/static/v1?label=continuous%20templating&message=%E6%A8%A1%E7%89%88%E6%9B%B4%E6%96%B0&color=blue&style=flat-square
:target: https://moban.readthedocs.io/en/latest/#at-scale-continous-templating-for-open-source-projects
.. image:: https://img.shields.io/static/v1?label=coding%20style&message=black&color=black&style=flat-square
:target: https://github.com/psf/black
News - 16.04.2019
================================================================================
Since 0.2.0, NO LONGER, phantomjs is required! NO LONGER, it supports python 2.7
BUT, the capability to render pyecharts in a script has been merged into
pyecharts 1.0.0. And the dependency on phantomjs has been sprawn as:
`snapshot-phantomjs `_ .
If you love to use 'snapshot' command line, please continue to use this
project.
Introduction
================================================================================
pyecharts-snapshot renders the output of pyecharts/echarts.js as a png, jpeg,
gif, eps, svg image, raw base64 encoding or a pdf file at command line.
Usage
================================================================================
Get png:
.. code-block:: bash
$ snapshot render.html
And you will get:
.. image:: https://raw.githubusercontent.com/pyecharts/pyecharts-snapshot/master/images/demo.png
:width: 800px
Get pdf:
.. code-block:: bash
$ snapshot render.html pdf
And you will get:
.. image:: https://raw.githubusercontent.com/pyecharts/pyecharts-snapshot/master/images/demo_in_pdf.png
:target: https://raw.githubusercontent.com/pyecharts/pyecharts-snapshot/master/examples/grid.pdf
:width: 800px
And here the code to `generate it `_
Get svg:
.. code-block:: bash
$ snapshot render.html svg
Please be aware that `render.html` should have configure echarts to do svg rendering. This library, being
stupid, does not make canvas rendered image as svg rendered. Here is `an example svg file `_.
Usage details
--------------------------------------------------------------------------------
Command line options::
$ snapshot output.html [png|jpeg|gif|svg|pdf] [delay] [pixel ratio]
where:
`delay` tells pyecharts-snapshot to take a snapshot after
some time measured in seconds. It is needed only when your snapshot is partial because the chart
animation takes long than 1.5 second(default).
`pixel ratio` tells pyecharts-snapshot to use a different pixel ratio when generate
the image. It defaults to 2.
Programmatical usage is simple:
.. code-block:: python
...
somechart.render(path='cool_snapshot.png') # delay=1, pixel_ratio=3) 1 second delay, 3 as pixel ratio
where delay as an optional parameter can be given to specify `delay_in_seconds`.
Coffee
================================================================================
Please buy `me a coffee `_ if you think this library helped.
Installation
================================================================================
You can install pyecharts-snapshot via pip:
.. code-block:: bash
$ pip install pyecharts-snapshot
or clone it and install it:
.. code-block:: bash
$ git clone https://github.com/pyecharts/pyecharts-snapshot.git
$ cd pyecharts-snapshot
$ python setup.py install
And you need to do:
.. code-block:: bash
$ pyppeteer-install
.. note::
pyppeteer-install is recommended but optional. Your first ever run of
**snapshot** command will invoke pyppeteer-install. This command will
download `Chrominium `_,
`about 100MB `_
Test status
================================================================================
Fully tested on 3.6, 3.7 and 3.8-dev.
Constraints
================================================================================
Only one image at a time. No 3D image support
Design Considerations
================================================================================
#. Ghost.Py: very hard to install on my own. Dropped
Maintenance Instructions
================================================================================
#. install pyecharts-snapshot
#. make demo
#. take screenshots of grid.pdf and snapshot.pdf in examples folder