[This article was first published on Ripples, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
What would you do? If my heart was torn in two (More Than Words, Extreme)
Playing with rCharts package I had the idea of representing the list of 100 best love songs as a connected set of points which forms a heart. Songs can be seen putting mouse cursor over each dot. This is an screenshot of the graph:
library(dplyr)
library(rCharts)
library(rvest)
setwd("YOUR WORKING DIRECTORY HERE")
heart <- function(r,x) {ifelse(abs(x)<2, ifelse(r%%2==0, sqrt(1-(abs(x)-1)^2), acos(1-abs(x))-pi), 0)} data.frame(x=seq(from=-3, to=3, length.out=100)) %>%
mutate(y=jitter(heart(row_number(), x), amount=.1)) -> df
love_songs <- html("http://www.cs.ubc.ca/~davet/music/list/Best13.html") love_songs %>%
html_nodes("table") %>%
.[[2]] %>%
html_table(header=TRUE, fill = TRUE) %>%
cbind(df) -> df
m1=mPlot(x = "x", y = "y", data = df, type = "Line")
m1$set(pointSize = 5,
lineColors = c('red', 'red'),
width = 850,
height = 600,
lineWidth = 2,
hoverCallback = "#! function(index, options, content){
var row = options.data[index]
return '<b>' + row.ARTIST + '</b>' + '<br/>' + row.TITLE} !#",
grid=FALSE,
axes=FALSE)
m1$save('Top_100_Greatest_Love_Songs.html', standalone = TRUE)
To leave a comment for the author, please follow the link and comment on their blog: Ripples.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
