index.html
<!doctype HTML>
<meta charset = 'utf-8'>
<html>
<head>
<script src='//d3js.org/d3.v3.min.js' type='text/javascript'></script>
<script src='//dimplejs.org/dist/dimple.v1.1.5.min.js' type='text/javascript'></script>
<style>
.rChart {
display: block;
margin-left: auto;
margin-right: auto;
width: 1000px;
height: 600px;
}
.tooltip {opacity:1;}
</style>
</head>
<body >
<div id = 'chart229c57375985' class = 'rChart dimple'></div>
<script type="text/javascript">
var opts = {
"dom": "chart229c57375985",
"width": 1000,
"height": 600,
"xAxis": {
"type": "addMeasureAxis",
"showPercent": false
},
"yAxis": {
"type": "addCategoryAxis",
"showPercent": false,
"orderRule": "measurenum"
},
"zAxis": [],
"colorAxis": [],
"defaultColors": [],
"layers": [],
"legend": [],
"x": "value",
"y": [ "measurenum", "indicator" ],
"groups": [ "measure", "indicator" ],
"type": "bar",
"id": "chart229c57375985"
},
data = [{"indicator":"Real exchange rate","measurenum":"V2","value":"72","measure":"Number of crises for which there is data"},{"indicator":"Banking crises","measurenum":"V2","value":"26","measure":"Number of crises for which there is data"},{"indicator":"Exports","measurenum":"V2","value":"72","measure":"Number of crises for which there is data"},{"indicator":"Stock prices","measurenum":"V2","value":"53","measure":"Number of crises for which there is data"},{"indicator":"M2linternational reserves","measurenum":"V2","value":"70","measure":"Number of crises for which there is data"},{"indicator":"Output","measurenum":"V2","value":"57","measure":"Number of crises for which there is data"},{"indicator":"\u201cExcess\u201d M I balances","measurenum":"V2","value":"66","measure":"Number of crises for which there is data"},{"indicator":"International reserves","measurenum":"V2","value":"72","measure":"Number of crises for which there is data"},{"indicator":"M2 multiplier","measurenum":"V2","value":"70","measure":"Number of crises for which there is data"},{"indicator":"Domestic creditlGDP","measurenum":"V2","value":"62","measure":"Number of crises for which there is data"},{"indicator":"Real interest rate","measurenum":"V2","value":"44","measure":"Number of crises for which there is data"},{"indicator":"Terms of trade","measurenum":"V2","value":"58","measure":"Number of crises for which there is data"},{"indicator":"Real interest differential","measurenum":"V2","value":"42","measure":"Number of crises for which there is data"},{"indicator":"Imports","measurenum":"V2","value":"71","measure":"Number of crises for which there is data"},{"indicator":"Bank deposits","measurenum":"V2","value":"69","measure":"Number of crises for which there is data"},{"indicator":"Lending rate/deposit rate","measurenum":"V2","value":"33","measure":"Number of crises for which there is data"},{"indicator":"Real exchange rate","measurenum":"V3","value":"57","measure":"Percentage of crises called"},{"indicator":"Banking crises","measurenum":"V3","value":"37","measure":"Percentage of crises called"},{"indicator":"Exports","measurenum":"V3","value":"85","measure":"Percentage of crises called"},{"indicator":"Stock prices","measurenum":"V3","value":"64","measure":"Percentage of crises called"},{"indicator":"M2linternational reserves","measurenum":"V3","value":"80","measure":"Percentage of crises called"},{"indicator":"Output","measurenum":"V3","value":"77","measure":"Percentage of crises called"},{"indicator":"\u201cExcess\u201d M I balances","measurenum":"V3","value":"61","measure":"Percentage of crises called"},{"indicator":"International reserves","measurenum":"V3","value":"75","measure":"Percentage of crises called"},{"indicator":"M2 multiplier","measurenum":"V3","value":"73","measure":"Percentage of crises called"},{"indicator":"Domestic creditlGDP","measurenum":"V3","value":"56","measure":"Percentage of crises called"},{"indicator":"Real interest rate","measurenum":"V3","value":"89","measure":"Percentage of crises called"},{"indicator":"Terms of trade","measurenum":"V3","value":"79","measure":"Percentage of crises called"},{"indicator":"Real interest differential","measurenum":"V3","value":"86","measure":"Percentage of crises called"},{"indicator":"Imports","measurenum":"V3","value":"54","measure":"Percentage of crises called"},{"indicator":"Bank deposits","measurenum":"V3","value":"49","measure":"Percentage of crises called"},{"indicator":"Lending rate/deposit rate","measurenum":"V3","value":"67","measure":"Percentage of crises called"},{"indicator":"Real exchange rate","measurenum":"V4","value":"25","measure":"Good signals as percentage of possible good signals"},{"indicator":"Banking crises","measurenum":"V4","value":"19","measure":"Good signals as percentage of possible good signals"},{"indicator":"Exports","measurenum":"V4","value":"17","measure":"Good signals as percentage of possible good signals"},{"indicator":"Stock prices","measurenum":"V4","value":"17","measure":"Good signals as percentage of possible good signals"},{"indicator":"M2linternational reserves","measurenum":"V4","value":"21","measure":"Good signals as percentage of possible good signals"},{"indicator":"Output","measurenum":"V4","value":"16","measure":"Good signals as percentage of possible good signals"},{"indicator":"\u201cExcess\u201d M I balances","measurenum":"V4","value":"16","measure":"Good signals as percentage of possible good signals"},{"indicator":"International reserves","measurenum":"V4","value":"22","measure":"Good signals as percentage of possible good signals"},{"indicator":"M2 multiplier","measurenum":"V4","value":"20","measure":"Good signals as percentage of possible good signals"},{"indicator":"Domestic creditlGDP","measurenum":"V4","value":"14","measure":"Good signals as percentage of possible good signals"},{"indicator":"Real interest rate","measurenum":"V4","value":"15","measure":"Good signals as percentage of possible good signals"},{"indicator":"Terms of trade","measurenum":"V4","value":"19","measure":"Good signals as percentage of possible good signals"},{"indicator":"Real interest differential","measurenum":"V4","value":"11","measure":"Good signals as percentage of possible good signals"},{"indicator":"Imports","measurenum":"V4","value":"9","measure":"Good signals as percentage of possible good signals"},{"indicator":"Bank deposits","measurenum":"V4","value":"16","measure":"Good signals as percentage of possible good signals"},{"indicator":"Lending rate/deposit rate","measurenum":"V4","value":"13","measure":"Good signals as percentage of possible good signals"},{"indicator":"Real exchange rate","measurenum":"V5","value":"5","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Banking crises","measurenum":"V5","value":"6","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Exports","measurenum":"V5","value":"7","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Stock prices","measurenum":"V5","value":"8","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"M2linternational reserves","measurenum":"V5","value":"10","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Output","measurenum":"V5","value":"8","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"\u201cExcess\u201d M I balances","measurenum":"V5","value":"8","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"International reserves","measurenum":"V5","value":"12","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"M2 multiplier","measurenum":"V5","value":"12","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Domestic creditlGDP","measurenum":"V5","value":"9","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Real interest rate","measurenum":"V5","value":"11","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Terms of trade","measurenum":"V5","value":"15","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Real interest differential","measurenum":"V5","value":"11","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Imports","measurenum":"V5","value":"11","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Bank deposits","measurenum":"V5","value":"19","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Lending rate/deposit rate","measurenum":"V5","value":"22","measure":"Bad signals as percentage of possible bad signals"},{"indicator":"Real exchange rate","measurenum":"V6","value":"0.190000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Banking crises","measurenum":"V6","value":"0.340000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Exports","measurenum":"V6","value":"0.420000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Stock prices","measurenum":"V6","value":"0.470000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"M2linternational reserves","measurenum":"V6","value":"0.480000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Output","measurenum":"V6","value":"0.520000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"\u201cExcess\u201d M I balances","measurenum":"V6","value":"0.520000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"International reserves","measurenum":"V6","value":"0.550000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"M2 multiplier","measurenum":"V6","value":"0.610000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Domestic creditlGDP","measurenum":"V6","value":"0.620000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Real interest rate","measurenum":"V6","value":"0.770000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Terms of trade","measurenum":"V6","value":"0.770000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Real interest differential","measurenum":"V6","value":"0.990000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Imports","measurenum":"V6","value":"1.160000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Bank deposits","measurenum":"V6","value":"1.200000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Lending rate/deposit rate","measurenum":"V6","value":"1.690000000000000","measure":"Noise/signal (adjusted)"},{"indicator":"Real exchange rate","measurenum":"V7","value":"67","measure":"P(crisis/signal)"},{"indicator":"Banking crises","measurenum":"V7","value":"46","measure":"P(crisis/signal)"},{"indicator":"Exports","measurenum":"V7","value":"49","measure":"P(crisis/signal)"},{"indicator":"Stock prices","measurenum":"V7","value":"49","measure":"P(crisis/signal)"},{"indicator":"M2linternational reserves","measurenum":"V7","value":"46","measure":"P(crisis/signal)"},{"indicator":"Output","measurenum":"V7","value":"49","measure":"P(crisis/signal)"},{"indicator":"\u201cExcess\u201d M I balances","measurenum":"V7","value":"43","measure":"P(crisis/signal)"},{"indicator":"International reserves","measurenum":"V7","value":"41","measure":"P(crisis/signal)"},{"indicator":"M2 multiplier","measurenum":"V7","value":"40","measure":"P(crisis/signal)"},{"indicator":"Domestic creditlGDP","measurenum":"V7","value":"39","measure":"P(crisis/signal)"},{"indicator":"Real interest rate","measurenum":"V7","value":"34","measure":"P(crisis/signal)"},{"indicator":"Terms of trade","measurenum":"V7","value":"36","measure":"P(crisis/signal)"},{"indicator":"Real interest differential","measurenum":"V7","value":"29","measure":"P(crisis/signal)"},{"indicator":"Imports","measurenum":"V7","value":"26","measure":"P(crisis/signal)"},{"indicator":"Bank deposits","measurenum":"V7","value":"25","measure":"P(crisis/signal)"},{"indicator":"Lending rate/deposit rate","measurenum":"V7","value":"18","measure":"P(crisis/signal)"},{"indicator":"Real exchange rate","measurenum":"V8","value":"39","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Banking crises","measurenum":"V8","value":"17","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Exports","measurenum":"V8","value":"20","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Stock prices","measurenum":"V8","value":"18","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"M2linternational reserves","measurenum":"V8","value":"17","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Output","measurenum":"V8","value":"16","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"\u201cExcess\u201d M I balances","measurenum":"V8","value":"15","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"International reserves","measurenum":"V8","value":"13","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"M2 multiplier","measurenum":"V8","value":"11","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Domestic creditlGDP","measurenum":"V8","value":"11","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Real interest rate","measurenum":"V8","value":"6","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Terms of trade","measurenum":"V8","value":"6","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Real interest differential","measurenum":"V8","value":"0","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Imports","measurenum":"V8","value":"-3.000000000000000","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Bank deposits","measurenum":"V8","value":"-4.000000000000000","measure":"P(crisis/signal) - P(crisis)"},{"indicator":"Lending rate/deposit rate","measurenum":"V8","value":"-9.000000000000000","measure":"P(crisis/signal) - P(crisis)"}];
var svg = dimple.newSvg("#" + opts.id, opts.width, opts.height);
var myChart = new dimple.chart(svg, data);
if (opts.bounds) {
myChart.setBounds(opts.bounds.x, opts.bounds.y, opts.bounds.width, opts.bounds.height);
}
if(opts.noFormats) { myChart.noFormats = opts.noFormats; };
function buildAxis(position,layer){
var axis;
var axisopts = opts[position+"Axis"];
if(axisopts.measure) {
axis = myChart[axisopts.type](position,layer[position],axisopts.measure);
} else {
axis = myChart[axisopts.type](position, layer[position]);
};
if(!(axisopts.type === "addPctAxis")) axis.showPercent = axisopts.showPercent;
if (axisopts.orderRule) axis.addOrderRule(axisopts.orderRule);
if (axisopts.grouporderRule) axis.addGroupOrderRule(axisopts.grouporderRule);
if (axisopts.overrideMin) axis.overrideMin = axisopts.overrideMin;
if (axisopts.overrideMax) axis.overrideMax = axisopts.overrideMax;
if (axisopts.overrideMax) axis.overrideMax = axisopts.overrideMax;
if (axisopts.inputFormat) axis.dateParseFormat = axisopts.inputFormat;
if (axisopts.outputFormat) axis.tickFormat = axisopts.outputFormat;
return axis;
};
var c = null;
if(d3.keys(opts.colorAxis).length > 0) {
c = myChart[opts.colorAxis.type](opts.colorAxis.colorSeries,opts.colorAxis.palette) ;
}
if(opts.defaultColors.length) {
if (typeof(opts.defaultColors) == "function") {
defaultColorsArray = [];
for (var n=0;n<20;n++) {
defaultColorsArray.push(opts.defaultColors(n));
};
opts.defaultColors = defaultColorsArray;
}
opts.defaultColors.forEach(function(d,i) {
opts.defaultColors[i] = new dimple.color(d);
})
myChart.defaultColors = opts.defaultColors;
}
function buildSeries(layer, hidden){
if (!layer.xAxis) layer.xAxis = opts.xAxis;
if (!layer.yAxis) layer.yAxis = opts.yAxis;
if (!layer.zAxis) layer.zAxis = opts.zAxis;
var x = buildAxis("x", layer);
x.hidden = hidden;
var y = buildAxis("y", layer);
y.hidden = hidden;
var z = null;
if (!(typeof(layer.zAxis) === 'undefined') && layer.zAxis.type){
z = buildAxis("z", layer);
};
var s = new dimple.series(myChart, null, x, y, z, c, dimple.plot[layer.type], dimple.aggregateMethod.avg, dimple.plot[layer.type].stacked);
if(layer.data){
var tempdata;
datakeys = d3.keys(layer.data)
tempdata = layer.data[datakeys[1]].map(function(d,i){
var tempobj = {}
datakeys.forEach(function(key){
tempobj[key] = layer.data[key][i]
})
return tempobj
})
s.data = tempdata;
}
if(layer.hasOwnProperty("groups")) {
s.categoryFields = (typeof layer.groups === "object") ? layer.groups : [layer.groups];
}
if (!(typeof(layer.aggregate) === 'undefined')) {
s.aggregate = eval(layer.aggregate);
}
if (!(typeof(layer.lineWeight) === 'undefined')) {
s.lineWeight = eval(layer.lineWeight);
}
if (!(typeof(layer.barGap) === 'undefined')) {
s.barGap = eval(layer.barGap);
}
myChart.series.push(s);
return s;
};
buildSeries(opts, false);
if (opts.layers.length > 0) {
opts.layers.forEach(function(layer){
buildSeries(layer, true);
})
}
if(d3.keys(opts.legend).length > 0) {
var l =myChart.addLegend();
d3.keys(opts.legend).forEach(function(d){
l[d] = opts.legend[d];
});
}
if(opts.storyboard) {
myChart.setStoryboard(opts.storyboard);
};
myChart.draw();
</script>
<script></script>
</body>
</html>