Making things with NodeBox 3

Today, setting aside better-things-to-do meant a morning making kaleidoscopes in NodeBox3. This is a tool I was recently introduced to by fellow classmates during an Advanced Topic presentation series, which I will post about in more detail soon. The series had us pairing up and exploring an assigned tool together, later presenting an introduction and demonstration to our peers. I was really excited after learning about NodeBox3 – it’s rather interesting in that the graphical interface does not require code, but requires understanding of programming functions and logic. Also, I like stuff that snaps together – who doesn’t?

How I came to be making cat kaleidoscopes was that I remembered a recent cat-themed call for image submissions from some fellow UW students working on a class assignment. In the interest of drawing attention to the extensive digital image collection hosted online by the University of Washington Libraries, these students are calling for people to find any image they like and fancify it using the free tool of their choice. So… on one hand I’ve got a burning desire to play with NodeBox3… on the other hand, here is a summons for a cat themed item-of-own-creation… so put them together and what do we have? Clapping, of course, but also a NodeBox3 generated cat kaleidoscope.

First, I located a cat image to use in the special collections. This one is from an illustrated children’s book featuring a cat for every letter of the alphabet! This one is a scholar. Appropriate, right?

 

Click to go to item page in UW Special Collections
From A cat alphabet and picture book for little folk (S, p. 22).

 

Next, I followed this excellent tutorial from the NodeBox3 blog: https://www.nodebox.net/blog/2013/01/kaleidoscope-tutorial/

After playing around in the comfort of using the image employed by the tutorial, I decided to strike out and use an image my own. Converting the jpeg I downloaded from UW Libraries was a bit of a chore. I am sure there is a way I could have done it with imagemagick, but I ultimately ended up using an online tool that I had to provide an email account to use – but if that is not what spam-bucket email accounts are for, then for what are they?

Here is my remixed cat kaleidoscope.

 

tailstailstailsI apologize to anyone bothered by the one tail that doesn’t go the same way as the other tails. Can we call it an executive design decision and leave it at that? Yes, you say? Why, thank you.

Document Generation with R in RStudio

This blogpost was created in RStudio using the rmarkdown package. For practice, I wanted to reproduce the plots created during week two and display them along with respective code.

Unfortunately, I only made it half-way, as only the code shows up, not the graphics. I was was hoping it would turn out something  sort of like so: http://rpubs.com/audiblediner/74483. Well, it’s a start.

 

Figure 1

hotdogs <-read.csv("http://datasets.flowingdata.com/hot-dog-contest-winners.csv", sep=",", header=TRUE)
fill_colors <- c()
for ( i in 1:length(hotdogs$New.record) ) {
if (hotdogs$New.record[i] == 1) {
fill_colors <- c(fill_colors, "#821122")
} else {
fill_colors <- c(fill_colors, "#cccccc")
}
}
barplot(hotdogs$Dogs.eaten, names.arg=hotdogs$Year, col=fill_colors, border=NA, space=0.3, xlab="Year", ylab="Hot dogs and buns (HDB) eaten", main="Nathan's Hot Dog Eating Contest Results, 1980-2010")

 

Figure 2

hot_dog_places <- read.csv('http://datasets.flowingdata.com/hot-dog-places.csv', sep=",", header=TRUE)
names(hot_dog_places) <- c("2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010")
hot_dog_matrix <- as.matrix(hot_dog_places)
barplot(hot_dog_matrix, border=NA, space=0.25, ylim=c(0, 200), xlab="Year", ylab="Hot dogs and buns (HDB) eaten", main="Hot Dog Eating Contest Results, 2000-2010")

 

Figure 3

subscribers <-
read.csv("http://datasets.flowingdata.com/flowingdata_subscribers.csv", sep=",", header=TRUE)
plot(subscribers$Subscribers, type="h", ylim=c(0, 30000), xlab="Day", ylab="Subscribers")
points(subscribers$Subscribers, pch=19, col="black")

 

Figure 4

population <-
read.csv("http://datasets.flowingdata.com/world-population.csv", sep=",", header=TRUE)
plot(population$Year, population$Population, type="l", bty="n", ylim=c(0, 7000000000), xlab="Year", ylab="Population")

 

Figure 5

postage <- read.csv("http://datasets.flowingdata.com/us-postage.csv", sep=",", header=TRUE)
plot(postage$Year, postage$Price, type="s", main="US Postage Rates for Letters, First Ounce, 1991-2010", xlab="Year", ylab="Postage Rate (Dollars)")

 

Figure 6

unemployment <- read.csv("http://datasets.flowingdata.com/unemployment-rate-1948-2010.csv", sep=",")
scatter.smooth(x=1:length(unemployment$Value), y=unemployment$Value, ylim=c(0,11), degree=2, col="#CCCCCC", span=0.5)

 


Data and Exercise Sources:  Yau, N. (2011). Visualize this: The FlowingData guide to design, visualization, and statistics. Indianapolis, Ind: Wiley Pub.

Playing with Plot.ly

I made the below using plotly, an online visualization and analytics tool. This is the first time making a visualization using plotly, so my goal was more to futz around  and figure out how it works than to really set myself up to do some analysis. Don’t judge too harshly! Maybe I’ll come back in a couple months so that my future data visualizing self can rip into my former self.