Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

charted

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

charted

Charted is a zero dependency SVG chart generator that aims to provide a simple interface for generating beautiful and customisable graphs. This project is inspired by chart libraries like mermaid.js.

  • 0.1.8
  • PyPI
  • Socket score

Maintainers
1

charted-logo

codecov charted-ci readthedocs

Charted is a zero dependency SVG chart generator that aims to provide a simple interface for generating beautiful and customisable graphs. This project is inspired by chart libraries like mermaid.js.

The following chart types are available:

  • Column
  • Line
  • Scatter

The following chart types are planned to be implemented.

  • Bar
  • Donut
  • Pie

Installation

pip install charted

tkinter

I've tried to avoid using tkinter in this library as it can be fiddly to install depending on your OS. However, it's still partially used if you're looking to expand Charted. Instead of using tkinter to calculate text dimensions on the fly, font definitions are created in fonts/definitions/.

New font definitions can be created by using:

poetry run python charted/fonts/creator.py Helvetica

Examples

Column

from charted.charts import Column

graph = ColumnChart(
    title="Example Column Graph",
    data=[
        [9.8, -29.8, 22.6, 45.0, 33.8, 35.4, 44.2],
        [8.9, 33.1, -27.1, 31.2, -15.4, 32.6, 19.8],
        [-32.0, 32.3, 45.7, -3.3, -33.3, -15.7, -38.6],
    ],
    labels=["January", "February", "March", "April", "May", "June", "July"],
    width=600,
    height=400,
    theme={
        "padding": {
            "v_padding": 0.1,
            "h_padding": 0.1,
        }
    },
)

Labelled Line Chart

from charted.charts import LineChart

graph = LineChart(
    title="Example Labelled Line Graph",
    data=[5 * (1.5**n) for n in range(0, 11)],
    labels=["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"],
    theme={
        "colors": ["#204C9E"],
    },
)

Dual Axis Line Chart

from charted.charts import LineChart

graph = LineChart(
    title="Example XY Line Graph",
    data=[
        [5 * (1.5**n) for n in range(0, 11)],
        [-5 * (1.5**n) for n in range(0, 11)],
    ],
    x_data=[-6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4],
    width=600,
    height=400,
)

Scatter

from charted.charts import ScatterChart

graph = ScatterChart(
    title="Example Scatter Graph",
    y_data=[
        [random.random() * i for i in range(-25, 25, 1)],
        [random.random() * i for i in range(-25, 25, 1)],
    ],
    x_data=[
        [random.random() * i for i in range(-25, 25, 1)],
        [random.random() * i for i in range(-25, 25, 1)],
    ],
)

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc