nxviz

nxviz is a package for what I call "rational" graph visualizations. In this package, I try to use the idea of studying while building (see Build a project portfolio and Making as a way of studying a topic) to study the bigger idea of principled graph visualizations. (see Use position, order, and color in graph visualizations)

Build a project portfolio

Eugene Yan writes extensively on the topic of data science careers, and I particularly enjoyed the essay he wrote titled Why Have a Data Science Portfolio and What It Shows.

A tl;dr summary of what he has in there:

  • The "why" is more than "getting a job". The process of building the portfolio matters more.
  • The process involves developing qualities: persistence, continual learning, altruism (to help others).
  • The "what it shows" includes both technical skills and those aforementioned qualities.

And a notable quote:

IMHO, traits and skills are a prerequisite to building a great portfolio. And they reinforce each other.

Also:

A portfolio is just an artifact of our skills, traits, and working process. It’s the destination; it’ll take care of itself if we focus on the journey.

Reflects very much the story behind The Score Takes Care Of Itself, by the legendary NFL coach Bill Walsh.

Making as a way of studying a topic

Making an artifact is an excellent way to study a topic. By producing something, we are forced to apply the theoretical knowledge we have gained.

A few examples from my own work:

  • Reimplementing an RNN, and surrounding it with tests and documentation, forced me to fully understand the internal workings of an RNN model.
  • Hand-crafting my own static site blog facilitated me learning how to use HTML, CSS, and JavaScript, while also helping me understand the web's idioms better.

Use position, order, and color in graph visualizations

I think position, grouping, order, and color can be used more effectively than they are used with hairballs.

In an ArcPlot, we can draw directed edges in one direction above the node plane, and edges in the other direction below the node plane. This becomes one effective use of positioning in a graph visualization.

In a CircosPlot, we use the circular positioning of nodes, but leverage ordering to convey meaning. Color can also be added in for subgrouping or for visualizing continuous values.

In a HivePlot, we use radial positioning of nodes to convey groupings/categories, and can use ordering within each groups. Links are then drawn between groups or within groups (within requires that the radial axis be cloned).

Network science

A collection of my thoughts on Network science and visualization.

Things I've made:

A thought: Use position, order, and color in graph visualizations.