Skip to main content

The Python implementation of JavaScript Library RoughViz to create sketchy charts.

Project description

py-roughviz

Package Version build Contributions welcome License

This is the Python wrapper of the JaveScript Library RoughViz which you could use to visualize sketchy/hand-drawn styled charts. You could check out original JS libarary here: RoughViz

Implemented Charts

Currently, there are seven types of charts available on JS RoughViz project, and I implemented all of them:

  • Bar
  • Barh
  • Pie
  • Line
  • Scatter
  • Donut
  • StackedBar

Before Use it

  • Cloning: If you clone the repo, please install the dependencies in order to use them, and simply do below if you are using pip.
pip install -r requirements.txt
  • Downloading the pakcage: This package is also available on PyPi, so you could do below to download the package
pip install py-roughviz

How to use it

Due to design of original RoughViz, there are some restrictions on the format of input data. The detailed description can be found in the documentation.

To use the tool, you could either define all options during chart in the initialization, or to define the options later. And in order to make it easier to use, there are several options provided.

  1. You could define all options using set_options
  2. For common options shared across different charts, you could define it in a more intuitive way, e.g. set_title(title="The plot", fontsize=2), or set_xlabel("X Label", fontsize=3)

Currently available options are:

  • set_options: this can be used to set all available options for charts
  • set_title: this can be used to set title and title fontsize
  • set_xlabel: this can be used to set xlabel and its fontsize
  • set_ylabel: this can be used to set ylabel and its fontsize
  • set_figsize: this can be used to set the figsize for plots
  • set_legend: this can be used to determine if legend is presented, and if so, which position to put legend

Examples

  • Example 1
from roughviz.charts.line import Line

line = Line(data="examples/example_datasets/vis1.csv", y1="a", y2="b", y3="c")
line.set_legend(legend_position="left")
line.set_title("Line Plot", fontsize=2)
line.set_options(colors=["tan", "orange", "coral"])

line.show()

Example 1

  • Example 2
from roughviz.charts.bar import Bar

data = {
    "labels": ["North", "South", "East", "West"],
    "values": [10, 5, 8, 3]
}

bar = Bar(data=data, title="Regions", title_fontsize=3)
bar.set_xlabel("Region", fontsize=2)
bar.set_ylabel("Number", fontsize=2)

bar.show()

Example 2

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

py-roughviz-0.3.1.tar.gz (471.9 kB view hashes)

Uploaded Source

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