Chapter 20. Visualizing Individual Winners
We want our Nobel Prize visualization (Nobel-viz) to include a list of currently selected winners and a biography box (aka bio-box) to display the details of an individual winner (see Figure 20-1). By clicking on a winner in the list, the user can see his or her details in the bio-box. In this chapter, weâll see how to build the list and bio-box, how to repopulate the list when the user selects new data (with the menu bar filters), and how to make the list clickable.
As this chapter will demonstrate, D3 isnât just for building SVG visualizations. You can bind data to any DOM element and use it to change its attributes and properties or its event-handling callback functions. D3âs data joining and event handling (achieved via the on
method) play very well with common user interfaces such as the clickable list of this chapter and selection boxes.1
Letâs deal first with the list of winners and how it is built with the dataset of currently selected winners.
Building the List
We build our list of winners (see Figure 20-1) using an HTML table with Year, Category, and Name columns. The basic skeleton of this list is provided in the Nobel-vizâs index.html file:
<!DOCTYPE html>
<
meta
charset
=
"utf-8"
>
<
body
>
...<
div
id
=
"nobel-list"
>
<
h2
>
Selected winners</
h2
>
<
table
>
<
thead
>
<
tr
>
<
th
id ...
Get Data Visualization with Python and JavaScript, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.