Skip to content

Instantly share code, notes, and snippets.

View jdfekete's full-sized avatar

Jean-Daniel Fekete jdfekete

View GitHub Profile
@jdfekete
jdfekete / README.md
Last active August 26, 2015 02:46
Simple Reordering example using the HTML Canvas instead of SVG

Simple example on how to reorder a table without D3 using the HTML Canvas, which is much faster than SVG.

@jdfekete
jdfekete / README.md
Last active April 14, 2024 12:23
Matrix diagram that visualizes character co-occurrences in Victor Hugo’s "Les Misérables"

Source: The Stanford GraphBase

A network can be represented by an adjacency matrix, where each cell ij represents an edge from vertex i to vertex j. Here, vertices represent characters in a book, while edges represent co-occurrence in a chapter.

Given this two-dimensional representation of a graph, a natural visualization is to show the matrix! However, the effectiveness of a matrix diagram is heavily dependent on the order of rows and columns: if related nodes are placed closed to each other, it is easier to identify clusters and bridges.

This example lets you try different orderings via the drop-down menu. This type of diagram can be extended with manual reordering of rows and columns, and expanding or collapsing of clusters, to allow deeper exploration. Jacques Bertin (or more specifically, his fleet of assistants) did this by hand with

@jdfekete
jdfekete / README.md
Last active August 29, 2015 14:27
Parallel Coordinate Example

Minimalist file showing how to reorder a Parallel Coordinate using reorder.js with https://syntagmatic.github.io/parallel-coordinates/

@jdfekete
jdfekete / README.md
Last active December 14, 2015 20:19
Antipodal Pairs

D3 plugin to compute antipodal pairs of a convex polygon, as well as its diameter. Useful for several things. In particular to align a graph along its longest axis.