Skip to main content

Library that takes as input config and datasets for highcharts, and outputs SVG image of rendered chart

Project description

Utluna Chart SVG Renderer

Using chrome-driver

Installation

!!! Important !!!

Make sure you have chrome-driver installed On Alpine v3.10, run:

echo "https://dl-4.alpinelinux.org/alpine/v3.10/main" >> /etc/apk/repositories
echo "https://dl-4.alpinelinux.org/alpine/v3.10/community" >> /etc/apk/repositories
apk update
apk add chromium chromium-chromedriver

Once chrome driver is successfully installed, install the library itself:

Use the package manager pip to install ut2chartrenderer.

pip installation instructions are here

pip install ut2chartrender

Usage

Import library

import ut2chartrender

Define settings in such way:

settings = {
  "options": {
    "title": {
      "text": "Atmosphere Temperature by Altitude"
    },
    "subtitle": {
      "text": "According to the Standard Atmosphere Model"
    },
    "xAxis": {
      "reversed": false,
      "title": {
        "enabled": true,
        "text": "Altitude"
      },
      "labels": {
        "formatter": "function () { return this.value + \"km\"; }"
      },
      "maxPadding": 0.05,
      "showLastLabel": true
    },
    "yAxis": {
      "title": {
        "text": "Temperature"
      },
      "labels": {
        "formatter": "function () { return this.value + \"°\"; }"
      },
      "lineWidth": 2
    },
    "legend": {
      "enabled": true
    },
    "tooltip": {
      "headerFormat": "<b>{series.name}</b><br/>",
      "pointFormat": "{point.x} km: {point.y}°C"
    }
  },
  "datasets": [
    {
      "name": "Temperature by altitude",
      "series_type": "spline",
      "marker": {
        "enabled": true
      },
      "data": [
        [0, 15],[10, -50],[20, -56.5],[30, -46.5],[40, -22.1],[50, -2.5],[60, -27.7],[70, -55.7],[80, -76.5]
      ]
    }
  ]
}

Finally generate chart: Way #1:

svg_xml = ut2chartrender.generate_chart(**settings)

or way #2:

svg_xml = ut2chartrender.generate_chart(
    options=settings["options"],
    datasets=settings["datasets"
)

If you dump svg_xml variable, you should see something like this:

<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="highcharts-root" height="400" style='font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif;font-size:12px;' version="1.1" viewbox="0 0 800 400" width="800" xmlns="http://www.w3.org/2000/svg">

which is an SVG file contents

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ut2chartrender-0.0.6.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

ut2chartrender-0.0.6-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file ut2chartrender-0.0.6.tar.gz.

File metadata

  • Download URL: ut2chartrender-0.0.6.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.41.1 CPython/3.7.3

File hashes

Hashes for ut2chartrender-0.0.6.tar.gz
Algorithm Hash digest
SHA256 d5860fadfc66cb45e44255a3fc827ccb764c4303246d3fc721ccd385794651a2
MD5 1285e808da7a510b5c656a77fef82afd
BLAKE2b-256 db0343f72e2b8ef03959770c2d91f28269da7c0d43fef818abe7f5dbb26b2972

See more details on using hashes here.

File details

Details for the file ut2chartrender-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: ut2chartrender-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.41.1 CPython/3.7.3

File hashes

Hashes for ut2chartrender-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b2b14ae2b05d18cc74c010ca52c85abaebc1b1b897846849d3b0dfc9aa91f478
MD5 a257374e122ceeba2e3e9f7270e8dce1
BLAKE2b-256 59c04ae30753e8847492f2ef0eb816ce1f991fa101f46b96b30e399292040f36

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page