Data Art

Data Self-Portrait by Maya Pruitt


I am a big texter. So much so, that I believe it influences a lot of the relationships I have with people. While, we often criticize using phones too much, my perception of text messaging is that it helps those that are physically far from me feel much closer. With this self portrait, I wanted to visualize these perceptions.

Full Visualization

Screen Shot 2019-09-24 at 7.59.33 AM.png


Apple stores text message data in a chat.db file in your Library (sometimes hidden). I granted my terminal full access to my disk to navigate to this hidden file. Using SQLite, a downloaded database engine, we can parse through the database to see what’s in there. Interestingly, text message information is stored in different places. Time & date was stored in a “messages” table, but who the sender was stored in “chat”. This required a bit of finagling to join the tables to better parse through them. Ultimately, I wrote a query to request data, in order to collect information under certain parameters. For this visualization, I was more interested in how often messages were sent and by who, rather than the content.

This information was plotted in Gnuplot (a command line utility tool) to make an initial chart. Here we can see the aggregate data of text messages over an entire year displayed by hour of the day. We see when people text me most often, but also who texts me the most. As expected, my long distance boyfriend of over 4 years has the largest number of text messages. Where my mom and I barely text - though this makes sense because I live at home.

This graph shows the number of text messages received by month, which illustrates communication over the whole year. Rupa, for example, I didn’t meet until this summer.

This graph shows the number of text messages received by month, which illustrates communication over the whole year. Rupa, for example, I didn’t meet until this summer.


For this visualization, it was important to me to illustrate the feelings that text messaging creates more than the actual numbers (though they are also fascinating). I wanted to map the number of text messages received to the brightness/alpha of an ellipse as a nod to the screen light of a phone turning on. Loneliness is sometimes equated with darkness, so the bright text message circles are meant to show how it brings lightness to a dark space. The distance lines shrink as the text message number increase, to show that tho physically far, my perceived distance of a person changes depending on how often they text me. Lastly, a happy accident of interpolation, those that text me most often caused the hour of time to change more slowly, but I liked that this was a metaphor of another perception one can feel when communicating with those they love.


HUGE SHOUT OUT TO MY S.O. CRAIG! He is a computer scientist and without his knowledge, I would not have even been able to retrieve this data set.

This was difficult. I wanted to push myself beyond a simple chart and really think about how animation can show change over time. In the future, I would want to have clearer graphic design intentions. I am curious how best to label information? More or less? How much room should you leave for interpretation?

Data Art: Week One - Visualizing Hemlock Tree Data by Maya Pruitt

For this assignment we were asked to visualize a dataset about a hemlock tree that lived from 1579 to 2000. The data includes ring width in millimeters for each year, as well as the growth index.

Visualization #1:

This takes the in class example and animates it to show the change over time. By changing the for loop into an if statement, the points can be drawn one at a time. It gives a nice effect of adding more information throughout the lifespan of the tree.

Visualization #2:

This version creates rings based on the value of the ring width. It is linear like the in-class example to create a familiar timeline visual. Left most side is 1579 and right is 2000. If the ring outline is larger that indicates larger ring width. This visualization is quite chaotic and hard to decipher.

Visualization #3:

This visualization is meant to replicate tree cross sections that show concentric circles of tree growth. It is a very literal interpretation, but It challenged me to truly represent the meaning of ring width. Each year the ring will form around the previous one. The ring width is the space between rings. Ultimately, the tree’s lifespan is the sum of all the ring widths.

Visualization #4:

I wanted to extract the other column of data for this one which is the growth index values. I wanted to represent how from year to year the grow index either increases or decreases. I think the algorithm I used for this is off, but it is meant to depict increase as green circles and decrease as red circles.