NYT: This was 1984

NYTimes: 365/360 - 1985

This series of images uses the faceted searching abilities of the NYTimes Article Search API to construct maps of the top organizations & people mentioned in articles for a given news year. Connections between these entities are drawn, so that relationships can be found and followed.

NYTimes: 365/360 - 2001

NYTimes: 365/360 - 2009

The maps posted so far in the Flickr set are general ones – but these can also be generated for any refined keyword search. Similarly, while the current maps are for individual years, a map could be made for any given period of time (the Bush presidency, the Gulf War, September 2001), or indeed for the whole period of time available through the API (1981-present).

One of the best things about using Processing for these types of projects is that the final result can be output to different formats. These, for example, can be output very easily as .PDFs, and I do think they’d look particularly striking as wall-sized prints. 25 years * 10 feet… does anyone have a 250-foot long wall they can lend me?

13 thoughts on “NYT: This was 1984

  1. This is really beautiful stuff. I am just beginning to dive into this sort of computational data visualization area and I would really like to know if you have any tips or resources for exactly how to code for the artistic portions of these visualizations. How do you make the smooth lines connecting the different entries or make placement decisions (for example having two rings of headlines and choosing which words go on which ring) from within the code. I am a physics and mathematics major so I have a pretty deep technical understand of geometries, algorithms, and coding theory, but i am really struggling on how to actually sit down and code a layout like that.

    Any help would be appreciated!

    Thanks

    1. Hi Jameson,

      Putting together these types of visualizations is generally a three-step process. First, you need to find a source of data and figure out how to get it into the environment that you are working in (in this case, Processing) in a useable form. Next, you need to identify what parts of the data that you are interested in – with extremely large data sets like the NYT, it’s often not feasible to visualize the whole set. In these pieces, I was interested in the connections that were present between organizations and people featured most often in NYT articles, so I wrote some code to give me a HashMap of each term along with the terms that it was linked to. Once the data was in place, I had to think about how to represent it, graphically.

      First, I rendered the top personalities and organizations in each year in a ring radiating from the centre of the page. In the monochrome versions, the colours of each item in the ring are weighted – brighter colours indicate terms that were included more often. I then rendered all of the ‘second generation’ connections in a bigger ring, spacing them more-or-less evenly so that they spanned a whole circle. For every connection that an outer ring ‘node’ had, I raised its type size by a small increment, and brought it closer to the center.

      With these ‘nodes’ in place, I could then render the connections between them. For each central node, I drew connections in two ways:

      1. Connections to other central nodes were drawn with a bezier curve with a control point at the centre of the page.
      2. Connections to outer nodes were drawn with a bezier curve with a control point halfway between the inner node an the outer edge.

      That’s it. As I’ve mentioned previously, Processing is a really great environment in which to work on projects like this – I highly recommend it. You can find instructions & code for connecting to the NTY APIs in my previous posts on the subject.

      Cheers,

      -Jer

  2. As a side note, each of these visualizations took only ~30 queries to the Article Search API. This is thanks to the general elegance of the API and in particular faceted searching.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>