
HiPlot: High-dimensional interactive plots made easy - snippyhollow
https://ai.facebook.com/blog/hiplot-high-dimensional-interactive-plots-made-easy/
======
keanzu
We first chose to display only data points obtained after 20 or more epochs of
training. Then, by slicing through the “loss” axis, we observed that larger
learning rates led to better performance (perplexity). You can reproduce this
example here:

[https://facebookresearch.github.io/hiplot/_static/demo/ml1.c...](https://facebookresearch.github.io/hiplot/_static/demo/ml1.csv.html?hip.color_by=%22valid+ppl%22)

------
zetaben
Fun fact, in the network and security world, there used to be a tool called
picviz that was doing exactly the same kind of things.

[https://doc.ubuntu-fr.org/picviz](https://doc.ubuntu-fr.org/picviz) (Sorry I
could only find it in French). Seems defunct nowadays.

------
rckoepke
Reminds me of some charts used by chemical engineers in the age of slide
rules. Can anyone help me remember an example?

~~~
Cybiote
These are known as
[https://en.wikipedia.org/wiki/Parallel_coordinates](https://en.wikipedia.org/wiki/Parallel_coordinates)
and are a pretty old technique. Although the wiki lists process control as one
of the major users, their history has them as dormant until revived in their
modern form in the 1960s, which doesn't quite match your timeline. Perhaps the
discrepancy is resolved by whether parallel axes were used as a equation
solving aid versus a visualization aid?

They're also not outdated, you can find them in many libraries, like
highcharts here: [https://www.highcharts.com/docs/chart-and-series-
types/paral...](https://www.highcharts.com/docs/chart-and-series-
types/parallel-coordinates-chart)

Excellent technical coverage is: Parallel Coordinates for Visualizing Multi-
Dimensional Geometry, from 1987 at
[https://link.springer.com/chapter/10.1007/978-4-431-68057-4_...](https://link.springer.com/chapter/10.1007/978-4-431-68057-4_3)

Wikipedia links to this 1880 chart:
[https://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~3...](https://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~32803~1152181:General-
summary,-showing-the-rank-o)

~~~
rckoepke
The ones I'm thinking of were "nomograms" (thanks to user 'chemeng'). Visually
they look like perhaps a very specific subset of "Parallel coordinate" graphs.
Definitely more for calculation rather than visualization. Evidently they were
popular from around 1890 to at least 1950.

~~~
kortex
They are still quite useful for predicting boiling points under reduced
pressure.

[https://www.sigmaaldrich.com/chemistry/solvents/learning-
cen...](https://www.sigmaaldrich.com/chemistry/solvents/learning-
center/nomograph.html)

------
juliwu
Does anyone know if this can be integrated with tensorboard.

~~~
sillysaurusx
Actually yeah, I wrote a script which 1. exports data from tensorboard.dev,
then 2. prints it out in csv form that can be dropped into hiplot.

It was ok. Kind of lost interest when I saw the actual result. You can't
smooth the data, so often times it's hard to tell what's going on.

Here's the awful script. It's specific to my own naming conventions, so it
probably won't work for you. But the same idea would work: just parse the
tensorboard data and spit it out as csv.
[https://gist.github.com/shawwn/b74d6e58da6496e2ade02bab61acc...](https://gist.github.com/shawwn/b74d6e58da6496e2ade02bab61acc920)

I also ran into a bug where multiple different datapoint types were getting
merged into one. (It wasn't due to the csv code; the actual CSVs are fine.)
I.e. the rows in the csv had a certain column that had a certain value, but in
hiplot that column was nowhere to be found.

Here's what it looks like:
[https://imgur.com/1n1eDXu](https://imgur.com/1n1eDXu)

I deployed an example here: [https://hiplot-subsim-
demo.now.sh](https://hiplot-subsim-demo.now.sh)

Notice that the "run" column shows up in the data, but not in hiplot.

------
mbostock
Based on a comment buried in the source, this library seems to be heavily
based on work by Kai Chang:

[http://bl.ocks.org/syntagmatic/3150059](http://bl.ocks.org/syntagmatic/3150059)

It’s a shame Kai isn’t created in the README, LICENSE, or announcement.

~~~
gavinray
And Kai credits previous work from Jason Davies[0] and Mike Bostock[1]. Mike
Bostock is the creator of D3.js and ObservableHQ.

[0]
[https://bl.ocks.org/jasondavies/1341281](https://bl.ocks.org/jasondavies/1341281)

[1] [https://observablehq.com/@d3/parallel-
coordinates](https://observablehq.com/@d3/parallel-coordinates)

Edit: Just saw your name. _Holy shit_ , it's Mike Bostock.

On a side tangent, I find it crazy that the New York Times for a long period
had yourself, Jeremy Ashkenas, and Rich Harris all on staff. What an all-star
team.

~~~
mstade
You may already be aware of this, in which case I apologize for stating the
obvious, but Mr. Bostock actually authored the comment you replied to. :o)

~~~
gavinray
I about jumped out of my chair when I saw the username after posting

