Skip to content

The Python implementation of JavaScript Library RoughViz to create sketchy charts

Notifications You must be signed in to change notification settings

kaitaidong/py-roughviz

 
 

Repository files navigation

py-roughviz

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

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

Before Use it

Please install the dependencies in order to use them, you could clone the repo, and simply do if you are using pip.

pip install -r requirements.txt

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)

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

About

The Python implementation of JavaScript Library RoughViz to create sketchy charts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.0%
  • HTML 4.0%