Buckethead is a guitar virtuoso from California. He literally plays guitar with a bucket on his head. He also happens to be one of the most prolific artists of all time. To date, he has produced over 300 solo albums, 275 of which are part of a series of albums called pikes.
I hope to introduce people to Buckethead in the most truthful, informative, and helpful way possible. Alberto Cairo says that truth can be demonstrated through beautifully displayed data. Not all data is displayed equally, and finding the right way to visualize data is probably the greatest challenge. In Robin Williams’s book, The Non-Designers Design Book, she introduces the C.R.A.P method, or Contrast, Repetition, Alignment, and Proximity (while it spells as interesting word, it also makes it easy to remember).
To demonstrate Cairo’s definition of truth through data visualization while introducing the world to what could be the most prolific musician of the 21st century, I gathered data from Buckethead’s website, and will illustrate Robin Williams’s C.R.A.P method through an analysis of Buckethead’s Pike sales.
The data I obtained were assembled by a researcher who uploaded most of the info on Wikipedia. There was not a lot of need to clean the data, but it was missing album sales per pike, and the pike genre. I managed to extract sales per pike from Buckethead’s Bandcamp website, and join it to the data from Wikipedia. I also added the genre based on the overall characteristic/feel of the pike itself. From that excel document, I converted it to a CSV file and loaded the file into R.
Here are libraries I will need access to.
library(tidyverse)
library(ggplot2)
library(forcats)
library(scales)
bucket_data <- read_csv("data/BucketData.csv")
by_year <- bucket_data %>%
count(Year)
column <- ggplot(data = by_year, aes(x = Year, y = n)) +
geom_col(fill = "red", width = 0.5) +
scale_x_discrete(limits = unique(sort(by_year$Year))) +
theme_minimal() +
geom_text(data = by_year, aes(label = n, family = "Bebas Kai"), size = 4.0, nudge_y = 4) +
theme(panel.grid.minor = element_blank(),
axis.text.y = element_blank(),
axis.text.x = element_text(family = "Bebas Kai"),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.line.x = element_blank(),
axis.line.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.y = element_blank(),
panel.background = element_blank(),
plot.title = element_text(face = "bold", family = "Bebas Kai", size = rel(2.0),
hjust = 0.5)) +
guides(fill=FALSE) +
labs(title = "Pike Releases Per Year")
column
This is a graphic that shows the relationship between time and Buckethead’s Pike production. This is the reader’s first exposure to the truth of Buckethead’s prolific work. The years 2014 and 2015 should be particularly impressive, given that most bands release in ten years what Buckethead produces in a month.
The purpose of my scale_x_discrete function is two-fold. 1. It guarantees that the “Years” as part of my x axis are in order, and 2. conveniently enough, it makes sure that all years are labeled, not just the even-numbered years.
less_new_bucket_data <- read_csv("data/BucketData.csv")
line <- ggplot(data = less_new_bucket_data, aes(x=Pike, y=Sales))+
geom_line(color = "red", size = 1.5) +
theme_minimal() +
theme(
axis.text.x = element_text(family = "Bebas Kai"),
axis.text.y = element_text(family = "Bebas Kai"),
axis.title.x = element_text(family = "Bebas Kai"),
axis.title.y = element_text(family = "Bebas Kai"),
axis.line.x = element_blank(),
axis.line.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.background = element_blank(),
plot.title = element_text(face = "bold", family = "Bebas Kai",
size = rel(2.0),
hjust = 0.5)) +
labs(title = "Pike Sales ")
line
Now we start getting to the nitty-gritty of the analysis. This is the viewer’s first exposure to how well Buckethead’s pikes have sold in the past. The most obvious phenomena is the flatter line towards the 175 through 205 region. That was Buckethead’s Happy Halloween pike series. The Happy Halloween series was a series of 32 Pikes that Buckethead released between the 1st of October and the 1st of November (1 pike every day). The albums are all experimental, scary, Halloween sounds. Given the nature of the sound of each pike, the sales were not that high, though several people still bought them. This gives the reader insight on Buckethead’s music style. While he is known to be a guitar shredder , he loves Halloween, and disembodied music.
Since that series did not sell very well, it leads the viewer to want to seek more truth: does one genre tend to sell better than another?
Notice that the fonts and colors repeat when compared to the previous chart. If producing multiple charts, they all should have the same font families and colors to aid in Williams’s repetition.
new_bucket_data <- read_csv("data/BucketData.csv")
pike_cumulative <- new_bucket_data %>%
mutate(Sales = as.numeric(Sales)) %>%
arrange(Genre) %>%
group_by(Genre) %>%
mutate(average = as.integer(cummean(Sales))) %>%
filter(Pike %in% c("258", "268", "273", "169", "274", "260", "275")) %>%
arrange(desc(average))
lollipop <- ggplot(data = pike_cumulative, aes(x=reorder(Genre, average), y=average )) +
geom_pointrange(aes(ymin = 400, ymax = average, fatten= 20), color = "red") +
geom_text(data = pike_cumulative, aes(label = average, family = "Bebas Kai")
, size = 3.0) +
theme_minimal() +
guides(color=FALSE) +
coord_flip() +
theme(panel.grid.minor = element_blank(),
axis.text.y = element_text(family = "Bebas Kai"),
axis.text.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.line.x = element_blank(),
axis.line.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.y = element_blank(),
panel.background = element_blank(),
plot.title = element_text(face = "bold", family = "Bebas Kai",
size = rel(2.0),
hjust = 0.5)) +
labs(title = "Average Sales By Genre")
lollipop
This chart (notice how it is the same font family, color, and legend style! #repetition) demonstrates the average number of sales by Pike genre. The viewer quikly sees that the best-selling genre is Easy Rock (jazzy, groovy, guitar tracks with less distortion) and the lowest-selling genre is his Experimental stuff (no surprise there). The viewer can see this and come to one of two conclusions: either they should check out his Easy Rock stuff, or check out pretty much anything but be aware that his Experimental stuff might not resonate with them.
Notice how the values are ranked in order, that way it is clear which ones are higher (or lower) than others. Assembling comparative data in numeric order is a principle of proximity, in other words, keeping like values close to one another. Doing so aids readability, andnlooks more attractive.
Also, to make sure that contrast was significant, we make the bar that leads to the sugary lollipop circle rather thin, while the circle was rather large to demonstrate the differences in average sales. That way, the viewer can more esily distinguish genre sale discrepancies.
The labels are all right-justified to aid in alignment. Which justification is used is not important, just as long as the labels are aligned.
lessers_new_bucket_data <- read_csv("data/BucketData.csv")%>%
filter(Genre %in% c("Experimental"))
lesserss_new_bucket_data <- read_csv("data/BucketData.csv")%>%
filter(Genre %in% c("Easy Rock"))
dot <- ggplot() +
geom_point(data = lessers_new_bucket_data, aes(x = Pike, y = Sales), color = "red") +
geom_point(data = lesserss_new_bucket_data, aes(x = Pike, y = Sales)) +
geom_smooth(data = lesserss_new_bucket_data, aes(x= Pike, y = Sales),
se = FALSE, method = lm, color = "black") +
geom_smooth(data = lessers_new_bucket_data, aes(x= Pike, y = Sales),
se = FALSE, method = lm, color = "red") +
theme_minimal() +
theme(
axis.text.x = element_text(family = "Bebas Kai"),
axis.text.y = element_text(family = "Bebas Kai"),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.background = element_blank(),
plot.title = element_text(face = "bold",
family = "Bebas Kai",
size = rel(1.5),
hjust = 0.5)) +
labs(title = "Easy Rock Sales vs Experimental Sales")
dot
This chart is two-fold. It shows that, generally, across the entire discography, Experimental stuff has always not sold as well as Easy Rock, but also that not all Easy Rock Pikes sold better than Experimental, and that there are some Experimental Pikes that people loved! But for the most part, this chart re-inforces the fact that people generally prefer Easy Rock to Experimental music. I’m loving the repetition in font, color, and title alignment across all these charts by the way.
Using Adobe InDesign, I assembled everything together onto the following graphic , but also added some general facts and other graphics for the reader to use as pike recommendations.
Final Figure
Though Buckethead’s color scheme tends to be red, white and black, upon assembling the colors and graphs, I found the color black to be a bit overwhelming. I switched to a light gray, and it made it much easier to look at. In design, to aid in contrast, a color scheme should havea a max of two strong colors, with the rest being easier colors (like lighter shades, usually white or gray).
The font family Bebas Kai is the primary font for the YouTube channel Buckethead Disciple, a prominent Buckethead advocate, so I decided to go along with that font family with the font family Cambria as a nice serif font to help aid reading smaller text. Readability aids in functionality.
The text boxes, graphs, and titles are all aligned and centered. I also added some features that I didn’t know how to do in R (like the arrow on the second chart). I have also arranged all the charts with their text to be close to one another, proximity aids in overall recognition, interpretation, and understanding.
The general takeaway from the graphic is that if you’re new to Buckethead, try out his Easy Rock stuff, or something from the top ten list on the final graphic . Despite my being a huge Buckethead fan, not all of his music sells that well. Unpopular Pikes are difficult to swallow, but it is the truth. Buckethead has produced a lot of Pikes, and not all of them sell the same, in fact, his experimental stuff is significantly less popular; nevertheless, the truth of the matter is that Buckethead is extremely prolific, and has an impressive range of musical abilities, not only in his vast array of genres, but in his significant album production.