Aside from implementation issues, that's a pretty dodgy graph generally. Hard to compare similarly sized wedges to each other. Unless it's literally a dial with ranges (which might be better represented as a sequence of colour, e.g. from blue to red) it's not a good way to show data.
This gauge chart on D3 might be of interest but I'm not sure it quite addresses the use case: http://c3js.org/samples/chart_gauge.html
The visualizations were created as an interactive website using HTML, CSS and JavaScript and the free API I created the data was compiled from newspaper websites.
I used http://c3js.org/ for the visuals, it's based on D3.
Feel free to message or comment me with any suggestions or ideas. In the last 12 weeks I have worked many hours on this project, If you share on Facebook, Twitter or join the mailing list it will make me happier than you can understand!
I recommend C3.js over d3 for starters. It wraps d3 and makes it much more user friendly. Their examples should be able to get you started after you get your data formatted the way they say to.
I would generate the data and output it in json format and then use a js library to create the graph.
http://c3js.org/samples/data_json.html
http://www.reddit.com/r/webdev/comments/2hhfw0/what_chart_library_do_you_guys_use/
I am using a combination of Angular Material, c3.js (for graphs) and Packery to achieve this. At the time, there was nothing really that suited my needs specifically.
Angular Dashboard linked below looks decent, but is missing charting (unless I am overlooking it?).
I made this website using the data posted the other day from http://www.usatoday.com/sports/nfl/arrests/. I used PHP and MYSQL for the data, and a html, css and Javascript front end, I used the c3 chart framework. Go explore some data! I will be adding more visualizations and an open API!
I have plans for this already, this is why there are flairs on the posts at /r/GetFairShare
Probably gonna use this: https://github.com/green-arrow/ember-cli-c3
Examples: http://c3js.org
If someone can put together some jsfiddles of configs/data for those libs that would speed things up.
Otherwise I'll figure it out eventually.
For data.table and ggplot2, basically. Being able to run a query, do some basic data.table analysis, and have a full-blown reactive website with visualizations is something I think is easy to take for granted, especially if someone's never written that stuff from scratch.
Coming from d3js, yeah d3 is more low-level and you have total control, but for LOC-to-quality ratio absolutely nothing can beat shiny + ggplot2. One line of R code that would amount to 200+ lines of d3 plus REST endpoint definitions and coding web service layers. No other language has anything even close to that and the R libraries are designed with extreme quality.
I wrote a DataTables wrapper in PHP back in Feb that would accept either an SQL query or associative array in the constructor and lost a lot of steam after doing the same with just c3js. Shiny does DataTables.js out of the box (not a big deal since it's just a table wrapper and one line of JavaScript, but it's still out-of-box functionality).
HTML wrappers are caveman simple to write, they just take so much time. 99% of the data structures I work with every day are tables, doesn't matter if it's statistical matrices or a storefront product catalog, having a native table data structure to work with is something I cannot give up now that I've gotten used to it. Pandas does it well, in my opinion R does it better. Python handles lists, maps, comprehensions, and generators better, but it's easier to get used to thinking in terms of R lists, vertices, and function application than it is to apply the converse principle to Python.
As for PHP, sure it works, but I'll die happy never seeing another foreach($x as $k => $v)
loop for the rest of my life. I get depressed just looking at it.
When I used it about a year ago, there wasn't possibility to create second y-axis. IIRC I created an issue about it to Github, but got no responses.
I recently bumped into c3js here in Reddit and it has possibility to create two y-axis (http://c3js.org/samples/axes_y2.html). Never used the library though, but it looks pretty good and has Angular directives too (http://jettro.github.io/c3-angular-directive/).
You'll probably find c3js the easiest to understand. Their documentation provides many hands-on examples with a live editor. The developer is very responsive and you can find many answers to questions by searching the issue tracker on github.
c3's approach is a JSON abstraction of charts on top of d3 making the learning curve fairly low. An API exists but is fairly limited, though it doesn't sound like you'll need much beyond that.
Also, c3's license is MIT
I used a lot of the left over code from my main website, but it consists of HTML, and Javascript, using the plugin http://c3js.org for the charting visualizations. The data for the response times were calculated by /u/toosuto who posted visualizations of the London fire departments yesterday. The climate data was taken from Link at London Heathrow Airport.
It really depends on how what level you want to play on: