Instructors: Guy Melançon (email: Guy dot Melancon at labri dot fr
), Bruno Pinaud (email: Bruno dot Pinaud at labri dot fr
)
Have a look at the page describing the course organization: assignments, term projects and evaluation, deadlines, etc.
Instructor: Bruno Pinaud
This first portion of the course is meant to introduce the topic of the course, motivate this still new research field although examples are there to indicate ideas go back to ancient times.
Have a look at the slides showed in the class.
It does include a comprehensive course on Tulip so students are able to work by themselves using the framework. As a consequence, an option is to delay the presentation and discussion about Munzner's nested model planned on the first day and advance the presentation of the following topics.
Homework
You need to submit your work on September 27 at the latest.
Instructor: Guy Melançon
Drawing graphs, for real
Have a look at the powerpoint presentation I showed in the class.
Because we want to actually 'do' things, we need to devote time learning how to use the Tulip framework (developed here at LaBRI).
python
API (see Tulip's website)python
viewThis part of the course or lesson will consists in:
Queue
libraryaddSubGraph
method to build a subgraphapplyLayoutAlgorithm
method. this method requires that you hand it a layout property. use the getLayoutProperty
to grasp the viewLayout
property so the new positions for nodes will automatically be transferred to the whole graph.viewColor
. create and instance of a light gray color tlp.Color(192, 192, 192)
for instance. iterate over edges and turn the non selected edges to grey (viewColor.setEdgeValue(edge, grey)
)Here is a solution. Have fun.
Homework
You need to submit your work on October 15 (Monday), before 9am, at the latest.
Instructor: Bruno Pinaud
Graph drawing basics
Have a look at the slides I showed in the class.
See Di-Battista, G.; Eades, P.; Tamassia, R. & Tollis, I.-G. Graph drawing – Algorithms for the visualization of graphs Prentice-Hall, 1999 for a nice introduction to graph drawing.
Hierarchical graph drawing (also called Layered drawing)
See this paper for a complete overview.
Getting serious with Tulip
python
API (see Tulip's website)python
viewHomework
Recall that you need to submit your homework #2 on October 15 at the latest.
Instructor: Bruno Pinaud
Working session on the homework #2.
Instructor: Guy Melançon
“Drawing multi-dimensional datasets”. The course covered all material of the High-dimensional datasets. Parts of the course were left as exercises, mainly to implement the PCA and MDS algorithms we discussed. The Cars dataset was used to illustrate the ideas and algorithms.
Code is now available from the PCA and MDS sections (see the exercises subsections).
Instructors: Guy Melançon
Downsizing data, cutting networks into pieces - part I
The course will cover the Huygens Ward theorem, the K-means and CURE algorithms. Most of your time shall be devoted to implementing the CURE algorithm and track for the best clustering of the Cars dataset.
Code is now available from the k-Means algorithm.
Instructors: Bruno Pinaud
Divide and conquer - drawing and manipulating graph hierarchies with Tulip We will use the following file to play with graph hierarchies infovis_clean.tlpx. The work to do is described in this document hierarchies.pdf.
Instructors: Guy Melançon
Downsizing data, cutting networks into pieces - part II
Instructors: Guy Melançon
Focus & Context - show the big picture, and provide details around a point of interest
Instructors: Bruno Pinaud
Take a dataset from http://snap.stanford.edu/data/index.html
or Kaggle ($$$ ) or the Visual Analytics Benchmark Repository.
Term project - I
Instructor: Guy Melançon
Term project - II
Instructor: Bruno Pinaud
Term project - III