Skip to content

interactivethings/chart-server

Repository files navigation

Chart Server

A server for a light-weight charting system.

Demo of how charts are rendered in a Google Spreadsheet

Read «Roll your own charting system» on the Interactive Things blog to learn more.

Chart Types

You can render any Vega-Lite specification to SVG by sending it to /VegaLite with the spec query paramter.

Example:

{
  "description": "A simple bar chart with embedded data.",
  "data": {
    "values": [
      {"a": "A","b": 28}, {"a": "B","b": 55}, {"a": "C","b": 43},
      {"a": "D","b": 91}, {"a": "E","b": 81}, {"a": "F","b": 53},
      {"a": "G","b": 19}, {"a": "H","b": 87}, {"a": "I","b": 52}
    ]
  },
  "mark": "bar",
  "encoding": {
    "x": {"field": "a", "type": "ordinal"},
    "y": {"field": "b", "type": "quantitative"}
  }
}

A simple bar chart with embedded data.

Additionally three example chart types, Bar, DemographicBar and DistrictBar, built on top of Vega-Lite and one, ZurichMap, build on top of Vega are provided in the charts folder. There is also a example essay and spreadsheet available utilizing those types.

Prerequisites

Develop

Install dependencies and start the development server

make

Deploy

The repository contains a Dockerfile and app.json manifesto and can easily be deployed.

About

A server for a light-weight charting system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published