Skip to content

🎨 Python3 binding for `@AntV/G2Plot` Plotting Library .

License

Notifications You must be signed in to change notification settings

hustcc/PyG2Plot

Repository files navigation

PyG2Plot

🎨 Python3 binding for @AntV/G2Plot which an interactive and responsive charting library. Based on the grammar of graphics, you can easily make superior statistical charts through a few lines of code. PyG2Plot is inspired by pyecharts.

Latest Stable Versionbuild StatusPypi Download

Document中文说明文档 · Drawing statistical plots · In Jupyter Notebook · Principles

Installation

$ pip install pyg2plot

Usage

render HTML

frompyg2plotimportPlotline=Plot("Line") line.set_options({"data": [{"year": "1991", "value": 3 },{"year": "1992", "value": 4 },{"year": "1993", "value": 3.5 },{"year": "1994", "value": 5 },{"year": "1995", "value": 4.9 },{"year": "1996", "value": 6 },{"year": "1997", "value": 7 },{"year": "1998", "value": 9 },{"year": "1999", "value": 13 }, ], "xField": "year", "yField": "value", }) # 1. render html fileline.render("plot.html") # 2. render html stringline.render_html()

image

render Jupyter

frompyg2plotimportPlotline=Plot("Line") line.set_options({"height": 400, # set a default height in jupyter preview"data": [{"year": "1991", "value": 3 },{"year": "1992", "value": 4 },{"year": "1993", "value": 3.5 },{"year": "1994", "value": 5 },{"year": "1995", "value": 4.9 },{"year": "1996", "value": 6 },{"year": "1997", "value": 7 },{"year": "1998", "value": 9 },{"year": "1999", "value": 13 }, ], "xField": "year", "yField": "value", }) # 1. render in notebookline.render_notebook() # 2. render in jupyter labline.render_jupyter_lab()

use JavaScript callback

frompyg2plotimportPlot, JSline=Plot("Line") line.set_options({"height": 400, # set a default height in jupyter preview"data": [{"year": "1991", "value": 3 },{"year": "1992", "value": 4 },{"year": "1993", "value": 3.5 },{"year": "1994", "value": 5 },{"year": "1995", "value": 4.9 },{"year": "1996", "value": 6 },{"year": "1997", "value": 7 },{"year": "1998", "value": 9 },{"year": "1999", "value": 13 }, ], "xField": "year", "yField": "value", "lineStye": JS('''function(){ return{stroke: 'red' };  }''') })

Use JS API, you can use JavaScript syntax for callback.

API

Now, only has one API of pyg2plot.

  • Plot
  1. Plot(plot_type: str): get an instance of Plot class.

  2. plot.set_options(options: object): set the options of G2Plot into instance.

  3. plot.render(path, env, **kwargs): render out html file by setting the path, jinja2 env and kwargs.

  4. plot.render_notebook(env, **kwargs): render plot on jupyter preview.

  5. plot.render_jupyter_lab(env, **kwargs): render plot on jupyter lab preview.

  6. plot.render_html(env, **kwargs): render out html string by setting jinja2 env and kwargs.

  7. plot.dump_js_options(env, **kwargs): dump js options by setting jinja2 env and kwargs, use it for HTTP request.

More apis is on the way.

License

MIT@hustcc.

About

🎨 Python3 binding for `@AntV/G2Plot` Plotting Library .

Topics

Resources

License

Stars

Watchers

Forks