RSSAmplifier

Blog

Nicolas.Kruchten.com

My blog.

nicolas.kruchten.comRSS feed ↗94 posts

Latest posts

Vibe CADing an Interactive Data Physicalization

Ever since I bought a 3d printer, I’ve wanted to dip a toe into data physicalization . I’m not very good at point-and-click 3d modelling tools, and this is kind of a casual hobby rather than serious work so I used Claude Code , an AI programming assistant, to vibe code a parametric Python program to generate the printable files. It was a real rush to find out I can just start verbally describing…

Metrics for Reasoning About the Usability of Visualization Notations

How can we evaluate and compare the usability of ggplot2, Vega-Lite, matplotlib and friends? Here is a summary of the research I’ve been working on and which will be presented at VIS 2023.

How Apple Names Things

I love the way Apple names things: FireWire, App Nap, iPhone, iPod, EarPod, AirPod, AirPlay, FairPlay etc. It’s playful and there’s a lot of reuse of words and sounds. Having just finished reading the biography of Steve Jobs, I decided to visualize various Apple product and feature names as a network to see this reuse in action. Check out the interactive version here (it works best on a desktop).…

IEEE VIS 2022 Highlights

IEEE VIS 2022 was last week in Oklahoma City and I was really happy to have been able to attend in person. The very-earnest motto of the conference was “VIS ’22 is about the people you meet” and for me at least, it really was! I’ll note that my strategy of writing a blog post describing my research and interests and tweeting it ahead of time and posting it to the Discord really helped with meeting…

NotaScope: my data visualization research-in-progress

Three years ago I had a great time attending IEEE VIS 2019 as a bit of an outsider, eager to learn about what the cutting edge of data visualization research looked like. I “attended” the next two editions remotely like everyone else, and even participated in a panel at the VisInPractice workshop last year . This year, I’m attending VIS (next week!) in person in Oklahoma City as a bona fide…

Montreal Python: A Fresh Look at the Python Data Visualization Landscape

I gave a talk at Montreal Python where I showed a diagram I’ve been working on to capture and explain how the various pieces of the Python data visualization landscape fit together. My presentation is first, starting about 7 minutes into the video.

Deliver Advanced Analytics Faster with Dashboard Engine

I gave a full-length webinar (name & email required to access, sorry!) about Dashboard Engine , the product my team and I have been working on for 2 years.

Montreal Election Map, 2021 Edition

Another four-year cycle, another interactive Montreal municipal election map (see also the 2013 and 2017 editions).

PyData Global 2021: Python Dashboarding Shootout and Showdown

I was on a panel at PyData Global 2021 where folks representing various Python “dashboarding” frameworks compared and contrasted their work with Dash, which I represented.

PyData Global 2021: Why Interactive Data Visualization Matters for Data Science in Python

I gave a talk at PyData Global 2021 that pulls together some ideas about why interactive data visualization matters into what I hope is an interesting and useful framework.

IEEE VIS 2021: VisInPractice Panel on Tools of the Trade

I participated in a panel called Tools of the Trade at the 2021 VisInPractice event , part of IEEE VIS 2021 .

Introducing Dashboard Engine

I was very proud to introduce Dashboard Engine to the world, as part of the Dash Enterprise 5.0 announcement webinar. I’ve been the product manager and team leader for this project for 18 months and it’s really gratifying to see it come to fruition.

SciPy 2021: Data Visualization as the First and Last Mile of Data Science

I was proud to be able to give a talk at SciPy 2021 this year, about Plotly Express and Dash !

Remaking Figures from Bertin's Semiology of Graphics

I’ve just published a personal project I’ve been thinking about doing for a few years now: revisiting figures from a 1967 book which has had a big influence on how I (and others!) think about data visualization, Jacques Bertin’s Semiology of Graphics .

Interview on IQT Podcast

I was recently interviewed on the IQT Podcast about Visualizing Data During a Pandemic, and how Plotly is contributing to COVID-19 response .

SciPy 2020: Tools Plenary Session

I was pleased to give a three-minute rundown at SciPy 2020 about what the Plotly.py team has been up to! My bit is at timecode 8:25.

Polytechnique Montréal: Plotly Express & Dash

I was happy to be invited back for a third time to talk about Plotly during Professor Thomas Hurtut 's data visualization class at Polytechnique Montréal (in English this time!).

Beyond “tidy”: Plotly Express now accepts wide-form and mixed-form data

Plotly Express is the built-in high-level data visualization interface for Plotly.py , a leading interactive data visualization library for Python. With today’s release of Plotly.py 4.8, Plotly Express now gracefully operates on wide-form and mixed-form data – not just “tidy” long-form data. These new capabilities dramatically expand Plotly Express’ promise of ‘interactive data visualization in a…

Polytechnique Montréal: Plotly Express & Dash (en français)

I was happy to be invited back to talk about Plotly during Professor Thomas Hurtut 's data visualization class at Polytechnique Montréal (in French).

Montreal Python: Plotly Express and Dash

I recently gave a talk about Plotly Express and Dash at Montreal Python . The description of the talk was, "You start the morning exploring some data in a Jupyter notebook with Plotly Express and after lunch you whip up a web application to give your non-programmer colleagues access to those same insights with Dash, all in under a 100 lines of Python, no Javascript required. This talk will show…

Introducing Plotly Express

Plotly Express is a new high-level Python visualization library: it’s a wrapper for Plotly.py that exposes a simple syntax for complex charts. Inspired by Seaborn and ggplot2, it was specifically designed to have a terse, consistent and easy-to-learn API: with just a single import, you can make richly interactive plots in just a single function call, including faceting, maps, animations, and…

Polytechnique Montréal: Intro to Plotly

I was happy to be invited to talk about Plotly during Professor Thomas Hurtut 's data visualization class at Polytechnique Montréal (in French).

DSDT MTL: Intro to Dash

I gave a talk at the Data Science, Design and Technology Montreal meetup which was a lot of fun, especially when other members of the community presented the apps that they'd created with Dash!

Software Product and/or Professional Services Organizations

I recently did a guest talk at the Arup Montreal office regarding the differences between Software Product Organizations and Professional Services Organizations.

Data Visualization for Artificial Intelligence, and Vice Versa

Data visualization uses algorithms to create images from data so humans can understand and respond to that data more effectively. Artificial intelligence development is the quest for algorithms that can “understand” and respond to data the same was as a human can – or better. It might be tempting to think that the relationship between the two is that to the extent that AI development succeeds,…

Make Patterns Pop Out of Heatmaps with Seriation

One of the easiest ways to start visualizing data is to turn a table into a heatmap : every cell gets a colour, the higher the number the brighter the colour. Unfortunately, this is often a fairly unrewarding exercise, yielding graphics that look like plaid or tartan fabric. Part of the problem is that the rows and columns of a dataset often have no natural ordering, such as time, and are instead…

Straightening Great Circles

Many a bored long-haul flight passenger has asked themselves why the flight path on the map is curved, and if it wouldn’t be faster to just fly straight there. In fact, airlines try very hard to keep their flight paths as straight as possible. It’s just that the rectangular world maps we are accustomed to looking at project the 3-dimensional earth onto a 2-dimensional surface such that any long…

Data Visualization: it's a lot like Photography

I have recently read some though-provoking articles that discussed data visualization by analogy to photography. I really like this analogy, both from a process perspective – photography and data visualization – and a people perspective – photographers and data visualizers. Anyone who takes a picture with a camera is a photographer in that moment, and anyone who makes a chart, diagram or map based…

Introducing react-pivottable

Pivot tables are interactive data exploration and summarization tools which have been a critical part of data analysts’ toolkits for the past 25 years, especially in spreadsheets like Excel. Five years ago I built PivotTable.js , which has since become one of the most popular Javascript pivot table implementations. I initially wrote it in CoffeeScript and packaged it up as a jQuery plugin, but the…

Getting Out the Vote for Valérie Plante

Last November 5th was Municipal Election Day in Montreal and I’m proud to say I was one of the hundreds of volunteers who got out the vote to elect Valérie Plante as Montreal’s first female mayor and the leader of Projet Montréal . However unlike most volunteers who were making phone calls, going door to door or driving electors to polling stations, I was at the campaign headquarters in front of…

Plotly.js and Crossfilter.js

I recently put together a simple example of Plotly.js and Crossfilter.js working together to produce a set of linked data visualizations.

Pivot Table of All 2017 Montreal Election Results

Many people reacted to my my interactive map of Montreal election results with requests for tables of hard numbers, and I’m happy to oblige! I grabbed the official election results from the Montreal open data portal and aggregated them by district to produce an easy-to-use CSV file . I also created a page that preloads a PivotTable.js instance with the data, for interactive data exploration fun!

Map of All 2017 Montreal Election Results

The 2017 edition of my interactive map of Montreal election results is now available, and I’m so pleased about the results it shows! In 2013 I made a map a couple of months after the election and it was considered so unusual it was talked about on the radio. But times have changed: this time the data was available within days, and within hours of that, news outlets had similar maps on their…

Interview on Using Reflection Podcast

My friend Mark Weiss recently started a podcast called Using Reflection and I was pleased to be interviewed as a guest on his 6th episode . We had a great chat about datavis and engineering ethics, among other topics.

The Feedback Log: My Product Owner Workflow

In an agile software development project, the role of the product owner comes with the responsibily of managing the product backlog. Most popular definitions of the backlog are quite broad , encouraging product owners to include in it every feature request, bugfix, idea related to the product etc. I have found it more helpful, however, to distinguish between backlog items on the one hand (i.e.…

Université de Montréal: Introduction to Data Visualization

I recently did a guest lecture (in French!) at the Université de Montréal in the context of the École d’été en Architecture de l’information (Summer program for Information Architecture) .

Mapping Car2Go Vehicle Availability in Montreal

As part of my second collaboration with data journalist Roberto Rocha , I made an interactive map for his recent piece on where and when Car2Go vehicles park in Montreal ( shorter english version ). Earlier in the year, Roberto told me about people in certain neighbourhoods complaining about Car2Go vehicles causing parking problems. He and I hit upon the idea of querying Car2Go’s API every few…

Notes on metro platform wayfinding

After my photographic metro platform maps went viral last week, I received a lot of feedback in the form of emails and comments, telling me about the experiences of subway riders in other cities. Here are some interesting vignettes.

Direction Angrignon: a different kind of subway map

The photo above ( click here for a zoomable version ) is a collage of panoramic scans of the Angrignon-bound platforms of the Montreal metro’s green line . I used my phone to record videos from the rear-most window of the train and wrote a bit of software to stitch the frames together. My goal was to create a way to figure out where to stand while waiting for the metro so as to get out closest to…

VisMtl: Graph Visualization vs Dimensionality Reduction

Visualizing datasets as circle-and-arrow networks or graphs is a popular and easy way to make attention-grabbing graphics. As the number of data points grows, however, these graphics become crowded and marginally useful. Dimensionality-reduction algorithms such as t-SNE represent a different approach to visualizing the relationships between large numbers of data points, which in certain cases can…

Machine Learning Meets Economics, Part 2

By using machine learning algorithms, we are increasingly able to use computers to perform intellectual tasks at a level approaching that of humans. Given that computers cost less than employees, many people are afraid that humans will therefore necessarily lose their jobs to computers. Contrary to this belief, in this article I show that even when a computer can perform a task more economically…

BIG 2016: The Machine Learning Database

I presented MLDB today at the BigData Innovators Gathering (BIG) 2016 conference. The whitepaper is available as a PDF .

Concordia: Applied Auction Theory in Online Advertising

I was recently invited to give a talk about auction theory and online advertising at Concordia University for a course entitled Social and Information Networks , which uses a really interesting textbook called Networks, Crowds, and Markets .

HTML5mtl: PivotTable.js, an Open-Source Story

I was recently invited to give a talk at HTML5mtl , and I chose to speak about my experiences with open-sourcing PivotTable.js .

Machine Learning Meets Economics

The business world is full of streams of items that need to be filtered or evaluated: parts on an assembly line, resumés in an application pile, emails in a delivery queue, transactions awaiting processing. Machine learning techniques are increasingly being used to make such processes more efficient: image processing to flag bad parts, text analysis to surface good candidates, spam filtering to…

JS Open Day Mtl: JavaScript for Data Visualization

I was excited to be invited to give a talk at the JavaScript Open Day Montreal about data visualization in JavaScript.

Montreal R User Group: ggplot2 & rpivotTable

I recently gave a talk at the Montreal R User Group about my favourite data visualization library, ggplot2 , as well as rpivotTable , the R interface to my own PivotTable.js As you can see in the video above, during the talk I just scrolled through an R file in RStudio. What you see below is the result of slightly modifying that file and running it through the RMarkdown process to capture the…

PyCon Canada: Make Jupyter even more magical with cell magic extensions!

I went back to my alma mater at the University of Toronto to give a talk at PyCon Canada on how to make Jupyter even more magical than it already is with cell magic extensions.

Big Data Montreal: the Machine Learning Database

I was happy to oblige when I was invited to give a talk at Big Data Montreal about the project I work on at Datacratic : the Machine Learning Database (MLDB) .

Drag'n'Drop Pivot Tables and Charts, in Jupyter/IPython Notebook

PivotTable.js is a Javascript Pivot Table and Pivot Chart library with drag’n’drop interactivity, and it can now be used with Jupyter/IPython Notebook via the pivottablejs module . This has been possible for RStudio users for a while now via rPivotTable , but why should they have all the fun?