Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🎨 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 Version build Status Pypi Download

Document: δΈ­ζ–‡θ―΄ζ˜Žζ–‡ζ‘£ Β· Drawing statistical plots Β· In Jupyter Notebook Β· Principles

Installation

$ pip install pyg2plot

Usage

render HTML

from pyg2plot import Plot
line = 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 file
line.render("plot.html")
# 2. render html string
line.render_html()

image

render Jupyter

from pyg2plot import Plot
line = 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 notebook
line.render_notebook()
# 2. render in jupyter lab
line.render_jupyter_lab()

use JavaScript callback

from pyg2plot import Plot, JS
line = 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

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /