Skip to content

Instantly share code, notes, and snippets.

@ramnathv
Created November 11, 2013 21:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ramnathv/7420414 to your computer and use it in GitHub Desktop.
Save ramnathv/7420414 to your computer and use it in GitHub Desktop.
My Second Chart
require(rCharts)
r1 <- rPlot(mpg ~ wt, data = mtcars, type = 'point')
r1$addControls('x', 'wt', names(mtcars))
r1
<!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://getbootstrap.com/2.3.2/assets/js/google-code-prettify/prettify.css">
<link rel='stylesheet' href="http://aozora.github.io/bootplus/assets/css/docs.css">
<script src='http://ramnathv.github.io/rCharts/libraries/widgets/polycharts/js/polychart2.standalone.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='chart5a5d13405fa7' class='rChart polycharts'>
</div>
<br/>
<pre><code class='r'>require(rCharts)
r1 &lt;- rPlot(mpg ~ wt, data = mtcars, type = 'point')
r1$addControls('x', 'wt', names(mtcars))
r1
</code></pre>
</div>
</div>
</div>
</div>
<div class='container' ng-controller="DemoCtrl" ng-init="drawChart()">
<div class='row'>
<div class='span3'>
<form class='well'>
<label><b>Select x :</b></label>
<select ng-model="opts.x.var"
ng-options="ctl for ctl in controls.x.values">
</select><br>
</form>
</div>
<div class='span8'>
<div class="bs-docs-example">
<div id='chart5a5d13405fa7' class='rChart '>
<svg></svg>
</div>
</div>
</div>
</div>
</div>
<script type='text/javascript'>
function DemoCtrl($scope){
$scope.chartParams = {
"dom": "chart5a5d13405fa7",
"width": 700,
"height": 500,
"layers": [
{
"x": "wt",
"y": "mpg",
"data": {
"mpg": [ 21, 21, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2, 17.8, 16.4, 17.3, 15.2, 10.4, 10.4, 14.7, 32.4, 30.4, 33.9, 21.5, 15.5, 15.2, 13.3, 19.2, 27.3, 26, 30.4, 15.8, 19.7, 15, 21.4 ],
"cyl": [ 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 8, 8, 8, 8, 4, 4, 4, 8, 6, 8, 4 ],
"disp": [ 160, 160, 108, 258, 360, 225, 360, 146.7, 140.8, 167.6, 167.6, 275.8, 275.8, 275.8, 472, 460, 440, 78.7, 75.7, 71.1, 120.1, 318, 304, 350, 400, 79, 120.3, 95.1, 351, 145, 301, 121 ],
"hp": [ 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, 180, 180, 205, 215, 230, 66, 52, 65, 97, 150, 150, 245, 175, 66, 91, 113, 264, 175, 335, 109 ],
"drat": [ 3.9, 3.9, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.92, 3.92, 3.07, 3.07, 3.07, 2.93, 3, 3.23, 4.08, 4.93, 4.22, 3.7, 2.76, 3.15, 3.73, 3.08, 4.08, 4.43, 3.77, 4.22, 3.62, 3.54, 4.11 ],
"wt": [ 2.62, 2.875, 2.32, 3.215, 3.44, 3.46, 3.57, 3.19, 3.15, 3.44, 3.44, 4.07, 3.73, 3.78, 5.25, 5.424, 5.345, 2.2, 1.615, 1.835, 2.465, 3.52, 3.435, 3.84, 3.845, 1.935, 2.14, 1.513, 3.17, 2.77, 3.57, 2.78 ],
"qsec": [ 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20, 22.9, 18.3, 18.9, 17.4, 17.6, 18, 17.98, 17.82, 17.42, 19.47, 18.52, 19.9, 20.01, 16.87, 17.3, 15.41, 17.05, 18.9, 16.7, 16.9, 14.5, 15.5, 14.6, 18.6 ],
"vs": [ 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1 ],
"am": [ 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 ],
"gear": [ 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4, 3, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 4 ],
"carb": [ 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, 1, 1, 2, 2, 4, 2, 1, 2, 2, 4, 6, 8, 2 ]
},
"facet": null,
"type": "point"
}
],
"facet": [],
"guides": [],
"coord": [],
"id": "chart5a5d13405fa7"
}
_.each($scope.chartParams.layers, function(el){
el.data = polyjs.data(el.data)
})
$scope.controls = {
"x": {
"name": "x",
"value": "wt",
"values": [ "mpg", "cyl", "disp", "hp", "drat", "wt", "qsec", "vs", "am", "gear", "carb" ],
"label": "Select x :"
}
}
$scope.opts = $scope.chartParams.layers[0];
$scope.drawChart = function(){
$scope.chart = polyjs.chart($scope.chartParams)
}
$scope.updateChart = function(){
$scope.chart.make($scope.chartParams)
}
$scope.$watch('opts', function(){
$scope.chartParams.layers[0] = $scope.opts;
$scope.updateChart();
}, true)
}
</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