A comparison of JavaScript data visualization libraries