Created
July 18, 2013 18:53
-
-
Save timelyportfolio/6031928 to your computer and use it in GitHub Desktop.
rCharts Licenses for Libraries with Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require(rCharts) | |
| require(reshape2) | |
| licenses <- data.frame( | |
| c("Dimple","Highcharts","Leaflet","Morris","NVD3","Polycharts","Rickshaw","xCharts"), | |
| c("MIT","CCA Noncommercial 3.0","MIT","MIT","Apache Ver 2","CCA Noncommercial 3.0","MIT","MIT"), | |
| c("MIT","Paid","MIT","MIT","Apache Ver 2","Paid","MIT","MIT") | |
| ) | |
| colnames(licenses) <- c("Library","Noncommercial","Commercial") | |
| licenses.melt <- melt(licenses, id.var = 1) | |
| colnames(licenses.melt) <- c("Library", "Type", "License") | |
| licPlot <- dPlot( | |
| x = c("License","Type"), | |
| y = "Library", | |
| groups = "Type", | |
| data = licenses.melt, | |
| type = "bar" | |
| ) | |
| licPlot$xAxis ( type = "addCategoryAxis" ) | |
| licPlot$yAxis ( type = "addCategoryAxis" ) | |
| licPlot$legend( | |
| x = 200, | |
| y = 10, | |
| width = 400, | |
| height = 20, | |
| horizontalAlign = "right" | |
| ) | |
| licPlot |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!doctype HTML> | |
| <meta charset = 'utf-8'> | |
| <html> | |
| <head> | |
| <link rel='stylesheet' href="http://netdna.bootstrapcdn.com/bootswatch/2.3.1/cosmo/bootstrap.min.css"> | |
| <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" > | |
| <link rel='stylesheet' href="http://twitter.github.io/bootstrap/assets/js/google-code-prettify/prettify.css"> | |
| <link rel='stylesheet' href="http://aozora.github.io/bootplus/assets/css/docs.css"> | |
| <script src='http://d3js.org/d3.v3.min.js' type='text/javascript'></script> | |
| <script src='http://dimplejs.org/dist/dimple.v1.min.js' type='text/javascript'></script> | |
| <style> | |
| .rChart { | |
| display: block | |
| margin: auto auto; | |
| width: 100%; | |
| height: 400px; | |
| } | |
| /* | |
| body { | |
| margin-top: 60px; | |
| } | |
| */ | |
| </style> | |
| </head> | |
| <body> | |
| <div class='container'> | |
| <div class='row'> | |
| <div class='span8'> | |
| <div class="bs-docs-example"> | |
| <div id='chart1aa466337ee' class='rChart nvd3Plot dimple'></div> | |
| <br/> | |
| <pre><code class='r'>require(rCharts) | |
| require(reshape2) | |
| licenses <- data.frame( | |
| c("Dimple","Highcharts","Leaflet","Morris","NVD3","Polycharts","Rickshaw","xCharts"), | |
| c("MIT","CCA Noncommercial 3.0","MIT","MIT","Apache Ver 2","CCA Noncommercial 3.0","MIT","MIT"), | |
| c("MIT","Paid","MIT","MIT","Apache Ver 2","Paid","MIT","MIT") | |
| ) | |
| colnames(licenses) <- c("Library","Noncommercial","Commercial") | |
| licenses.melt <- melt(licenses, id.var = 1) | |
| colnames(licenses.melt) <- c("Library", "Type", "License") | |
| licPlot <- dPlot( | |
| x = c("License","Type"), | |
| y = "Library", | |
| groups = "Type", | |
| data = licenses.melt, | |
| type = "bar" | |
| ) | |
| licPlot$xAxis ( type = "addCategoryAxis" ) | |
| licPlot$yAxis ( type = "addCategoryAxis" ) | |
| licPlot$legend( | |
| x = 200, | |
| y = 10, | |
| width = 400, | |
| height = 20, | |
| horizontalAlign = "right" | |
| ) | |
| licPlot | |
| </code></pre> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <script type="text/javascript"> | |
| var opts = { | |
| "dom": "chart1aa466337ee", | |
| "width": 800, | |
| "height": 400, | |
| "x": [ "License", "Type" ], | |
| "y": "Library", | |
| "groups": "Type", | |
| "type": "bar", | |
| "id": "chart1aa466337ee" | |
| }, | |
| data = [ | |
| { | |
| "Library": "Dimple", | |
| "Type": "Noncommercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "Highcharts", | |
| "Type": "Noncommercial", | |
| "License": "CCA Noncommercial 3.0" | |
| }, | |
| { | |
| "Library": "Leaflet", | |
| "Type": "Noncommercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "Morris", | |
| "Type": "Noncommercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "NVD3", | |
| "Type": "Noncommercial", | |
| "License": "Apache Ver 2" | |
| }, | |
| { | |
| "Library": "Polycharts", | |
| "Type": "Noncommercial", | |
| "License": "CCA Noncommercial 3.0" | |
| }, | |
| { | |
| "Library": "Rickshaw", | |
| "Type": "Noncommercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "xCharts", | |
| "Type": "Noncommercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "Dimple", | |
| "Type": "Commercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "Highcharts", | |
| "Type": "Commercial", | |
| "License": "Paid" | |
| }, | |
| { | |
| "Library": "Leaflet", | |
| "Type": "Commercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "Morris", | |
| "Type": "Commercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "NVD3", | |
| "Type": "Commercial", | |
| "License": "Apache Ver 2" | |
| }, | |
| { | |
| "Library": "Polycharts", | |
| "Type": "Commercial", | |
| "License": "Paid" | |
| }, | |
| { | |
| "Library": "Rickshaw", | |
| "Type": "Commercial", | |
| "License": "MIT" | |
| }, | |
| { | |
| "Library": "xCharts", | |
| "Type": "Commercial", | |
| "License": "MIT" | |
| } | |
| ], | |
| xAxis = { | |
| "type": "addCategoryAxis", | |
| "showPercent": false | |
| }, | |
| yAxis = { | |
| "type": "addCategoryAxis", | |
| "showPercent": false | |
| }, | |
| zAxis = [], | |
| colorAxis = [], | |
| legend = { | |
| "x": 200, | |
| "y": 10, | |
| "width": 400, | |
| "height": 20, | |
| "horizontalAlign": "right" | |
| }; | |
| var svg = dimple.newSvg("#" + opts.id, opts.width, opts.height); | |
| //data = dimple.filterData(data, "Owner", ["Aperture", "Black Mesa"]) | |
| var myChart = new dimple.chart(svg, data); | |
| if (opts.bounds) { | |
| myChart.setBounds(opts.bounds.x, opts.bounds.y, opts.bounds.width, opts.bounds.height);//myChart.setBounds(80, 30, 480, 330); | |
| } | |
| //dimple allows use of custom CSS with noFormats | |
| if(opts.noFormats) { myChart.noFormats = opts.noFormats; }; | |
| //for markimekko and addAxis also have third parameter measure | |
| //so need to evaluate if measure provided | |
| //x axis | |
| var x; | |
| if(xAxis.measure) { | |
| x = myChart[xAxis.type]("x",opts.x,xAxis.measure); | |
| } else { | |
| x = myChart[xAxis.type]("x", opts.x); | |
| }; | |
| if(!(xAxis.type === "addPctAxis")) x.showPercent = xAxis.showPercent; | |
| if (xAxis.orderRule) x.addOrderRule(xAxis.orderRule); | |
| if (xAxis.grouporderRule) x.addGroupOrderRule(xAxis.grouporderRule); | |
| if (xAxis.overrideMin) x.overrideMin = xAxis.overrideMin; | |
| if (xAxis.overrideMax) x.overrideMax = xAxis.overrideMax; | |
| if (xAxis.overrideMax) x.overrideMax = xAxis.overrideMax; | |
| if (xAxis.inputFormat) x.dateParseFormat = xAxis.inputFormat; | |
| if (xAxis.outputFormat) x.tickFormat = xAxis.outputFormat; | |
| //y axis | |
| var y; | |
| if(yAxis.measure) { | |
| y = myChart[yAxis.type]("y",opts.y,yAxis.measure); | |
| } else { | |
| y = myChart[yAxis.type]("y", opts.y); | |
| }; | |
| if(!(yAxis.type === "addPctAxis")) y.showPercent = yAxis.showPercent; | |
| if (yAxis.orderRule) y.addOrderRule(yAxis.orderRule); | |
| if (yAxis.grouporderRule) y.addGroupOrderRule(yAxis.grouporderRule); | |
| if (yAxis.overrideMin) y.overrideMin = yAxis.overrideMin; | |
| if (yAxis.overrideMax) y.overrideMax = yAxis.overrideMax; | |
| if (yAxis.inputFormat) y.dateParseFormat = yAxis.inputFormat; | |
| if (yAxis.outputFormat) y.tickFormat = yAxis.outputFormat; | |
| //z for bubbles | |
| var z; | |
| if (!(typeof(zAxis) === 'undefined') && zAxis.type){ | |
| if(zAxis.measure) { | |
| z = myChart[zAxis.type]("z",opts.z,zAxis.measure); | |
| } else { | |
| z = myChart[zAxis.type]("z", opts.z); | |
| }; | |
| if(!(zAxis.type === "addPctAxis")) z.showPercent = zAxis.showPercent; | |
| if (zAxis.orderRule) z.addOrderRule(zAxis.orderRule); | |
| if (zAxis.overrideMin) z.overrideMin = zAxis.overrideMin; | |
| if (zAxis.overrideMax) z.overrideMax = zAxis.overrideMax; | |
| } | |
| if(d3.keys(colorAxis).length > 0) { | |
| myChart[colorAxis.type](colorAxis.colorSeries,colorAxis.palette) ; | |
| } | |
| //here need think I need to evaluate group and if missing do null | |
| //as the first argument | |
| //if provided need to use groups from opts | |
| if(opts.hasOwnProperty("groups")) { | |
| var s = myChart.addSeries( opts.groups, dimple.plot[opts.type] ); | |
| //series offers an aggregate method that we will also need to check if available | |
| //options available are avg, count, max, min, sum | |
| if (!(typeof(opts.aggregate) === 'undefined')) { | |
| s.aggregate = eval(opts.aggregate); | |
| } | |
| if (!(typeof(opts.lineWeight) === 'undefined')) { | |
| s.lineWeight = eval(opts.lineWeight); | |
| } | |
| if (!(typeof(opts.barGap) === 'undefined')) { | |
| s.barGap = eval(opts.barGap); | |
| } | |
| } else var s = myChart.addSeries( null, dimple.plot[opts.type] ); | |
| //unsure if this is best but if legend is provided (not empty) then evaluate | |
| if(d3.keys(legend).length > 0) { | |
| var l =myChart.addLegend(); | |
| d3.keys(legend).forEach(function(d){ | |
| l[d] = legend[d]; | |
| }); | |
| } | |
| //quick way to get this going but need to make this cleaner | |
| if(opts.storyboard) { | |
| myChart.setStoryboard(opts.storyboard); | |
| }; | |
| myChart.draw(); | |
| </script> | |
| </body> | |
| <!-- Google Prettify --> | |
| <script src="http://cdnjs.cloudflare.com/ajax/libs/prettify/188.0.0/prettify.js"></script> | |
| <script | |
| src='https://google-code-prettify.googlecode.com/svn-history/r232/trunk/src/lang-r.js'> | |
| </script> | |
| <script> | |
| var pres = document.getElementsByTagName("pre"); | |
| for (var i=0; i < pres.length; ++i) { | |
| pres[i].className = "prettyprint linenums"; | |
| } | |
| prettyPrint(); | |
| </script> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment