Skip to content

uwdata/dziban

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c5afdad · Jul 22, 2020

History

56 Commits
Aug 30, 2019
Feb 22, 2019
Sep 20, 2019
Sep 13, 2019
Sep 20, 2019
Sep 20, 2019
Feb 12, 2019
Sep 15, 2019
Sep 13, 2019
Jan 25, 2019
Mar 21, 2019
Feb 22, 2019
Jan 26, 2019
Mar 9, 2019

Repository files navigation

Dziban

WIP

Prototype Status

Current prototype: MKIV.

Tutorial & Demo

Check out the Notebook.

Here's a quick peek.

img

Installation

  1. Clone the multi-vis branch of draco, found here. And follow the installation instructions.

  2. Install dependencies: pip install -r requirements.txt.

  3. Install Dziban: pip install -e ..

  4. Start up a notebook: jupyter notebook.

  5. Import Dziban and perhaps a dataset from vega_datasets.

from dziban.mkiv import Chart
from vega_datasets import data

Follow the demo for usage examples.

The important stuff

base.py <>

base definition for a chart, including initialization

chart.py <>

programming layer, exposed to user

encoding.py <>

AST node for encoding objects

field.py <>

field methods for a chart, exposed to user

graphscape2asp.js <>

script for translating Graphscape definitions and weights into ASP (to be placed into Draco). See below.

In addition, Dziban uses a modified version of Draco, which supports multi-view and Graphscape's transition reasoning. This can be found on this branch. There are changes to the original Draco scattered about. Noteably:

compare.lp <>

transition definitions for Graphscape

compare_weights.lp <>

weights for these transitions

The whole system

has been modified to allow for multiview reasoning (many other files, e.g. define.lp, soft.lp, optimize.lp, run.py, asp2vl, optimize_draco.lp, optimize_graphscape.lp, and more and more).