Closed tpetricek closed 3 years ago
Possible related work from Levi:
Tomas’ original notes (more focused around “vis paper based on PL techniques”, rather than “PL paper with viz application”):
Introduction
Making visualizations more explorable Done through brushing & linking
Lots of work on specific implementations
We have general mechanism based on PLT
This means you just write code and we do linkingMotivating example
Consider case where we want two charts showing two aggregations
In Python, I load data, do some Pandas aggregation, build charts
This does not give me linking! We do not know how the charts relate!
I have to use Bokeh, but then I also have to rewrite how I aggregate
Then you’re also restricted in what you can do
This is stupid, we should not have to do this.Background
Problem overview
More details about brushing and linking
Related dataviz work
Seminal work on the topic from long time ago
Some more recent work in the space
The problem is they’re hard coded and not flexibleRelated PL work
We will use ideas from program slicing
Some concrete work in this spaceOverview of our system
We implement brushing and linking
We get that for free based on the underlying mechanism
Including the diagram with two vizEvaluation of our system
Discuss the example here
Interoperability with other systems, e.g. D3/Vega, and languages:
- intended primarily as a proof-of-concept, which could be implemented for libraries like D3
- with complex pipelines involving multiple languages/libraries, we can support some part of the pipeline only
- we can specify an API that third parties could implement (for a given library/language) in order to interoperate with our approach
Introduction
Background
Theory
Applications
Plan of introduction/overview
Introduction
Identifying the problem
Towards a solution: Galois slicing for linking visualisations
Problems with existing approaches (1)
Problems with existing approaches (2)
Overview/motiving example(s)
Some to dos:
example: matrix convolution (some nice lecture notes on convolutions and kernels)