Skip to main content

A library for ploting chord diagrams

Project description

OpenChord

OpenChord is a Python library I am developing to plot beautiful chord diagrams for visualising networks and graphs. OpenChord uses the drawsvg library and can display figures in a Jupyter notebook or Jupyter lab. Other libraries for drawing chord diagram includes PlotAPI (paid), Bokeh (visible moire artifact), and Plotly (tedious).

Installation

OpenChord is now on PyPI.org! Install using the command

pip install openchord

Usage

Currently, the function only support symmetric adjacency matricies (i.e. weighted graph, non-directed)

import openchord as ocd

adjacency_matrix = [[ 3, 18,  9,  0, 23],
                    [18,  0, 12,  5, 29],
                    [ 9, 12,  0, 27, 10],
                    [ 0,  5, 27,  0,  0],
                    [23, 29, 10,  0,  0]]
labels = ['Emma', 'Isabella', 'Ava', 'Olivia', 'Sophia']

fig = ocd.Chord(adjacency_matrix, labels)
fig.show()

Color can be changed like so

fig.colormap = ['#636EFA', '#EF553B', '#00CC96', '#AB63FA', '#FFA15A', '#19D3F3', '#FF6692', '#B6E880', '#FF97FF', '#FECB52']
fig.show()

You can export the figure as an .svg file and open it in a vector graphics software such as Inkscape

fig.save_svg("figure.svg")

Chord diagram using OpenChord

More tutorials and examples

I wrote a few more tutorials available via the link below and in the /examples directory. Feel free to download them and run it yourself.

  1. Quick Start

    • First chord diagram
    • Radius
    • Padding
    • Font size and font family
    • Colormap
    • Gap size
    • Background color and transparancy
  2. The Logo (The text is not centered vertically when viewed on GitHub)

    • Rotation
    • Custom plot area
    • Gradient style
    • Arc thickness
    • Text position
    • Ribbon gap
    • Ribbon stiffness
    • Save as SVG

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

openchord-0.1.7.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openchord-0.1.7-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file openchord-0.1.7.tar.gz.

File metadata

  • Download URL: openchord-0.1.7.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for openchord-0.1.7.tar.gz
Algorithm Hash digest
SHA256 e96760902083607bff6dfdb7e85eb2308528f059f37f8722cbf876c5ba072520
MD5 89cfe38de3876325db853594656baecd
BLAKE2b-256 8e2ce4f2720b66398270baebc2f4f3287992c51d34f9677db6d24e65fd9a44c8

See more details on using hashes here.

File details

Details for the file openchord-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: openchord-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for openchord-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 88a3db6e81c86f8b2723c29bd8d456b52a59692af86b11ce4c9190f2f9bb0efd
MD5 9beb2941ee4f8aa9a0855cb6a3cec5a3
BLAKE2b-256 2aa4183af26f158e6edc041fdebb7a396c6b0155e5565455098ea96b6cde2b21

See more details on using hashes here.

Supported by

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