function (tag) { ////////////// vf-dist ////////////// $(tag).each(function (index, element) { if(($(element).attr('rendered') == undefined || $(element).attr('rendered') == false)){ $(element).html(''); function renderPlot(outputs, element){ var xTitle = "PDF"; var alph = .061; var beta = -1.2; var hi = 30; var lo = -30; var points = 20; var data = []; var betaFUN = (Math.sqrt(2*Math.PI)*alph^(alph-.5)*beta^(beta-.5))/((alph+beta)^(alph+beta-.5)); var mean = -0.0319406; var sdev = Math.sqrt(2.0549586); var numberOfSdev = 3; var x; var y; var numOfPoints = points; for (z = -numberOfSdev; z <= numberOfSdev; z += (2*numberOfSdev/numOfPoints)) { with (Math) { x = (mean + z*sdev); y = (1/(sdev* sqrt(2*PI)) * exp(-0.5* pow(z, 2))); } data.push({'x' : x, 'y' : y}); } var widthpx = 290; var heightpx = 290; var margin = {top: 5, right: 5, bottom: 75, left: 5}; var width = widthpx - margin.left - margin.right; var height = heightpx - margin.top - margin.bottom; var x = d3.scale.linear() .domain([data[0].x, data[data.length - 1].x]) .range([0, width]); var maxY = data[0].y; var minY = data[0].y; for (j= 1; j < data.length; j++) { if (data[j].y > maxY) { maxY = data[j].y; } if (data[j].y < minY) { minY = data[j].y; } } var y = d3.scale.linear() .domain([minY, maxY]) .range([height, 0]); var xAxis = d3.svg.axis() .scale(x) .orient("bottom"); var yAxis = d3.svg.axis() .scale(y) .orient("left"); var line = d3.svg.line() .x(function(d) { return x(d.x); }) .y(function(d) { return y(d.y); }); var area = d3.svg.area() .x(line.x()) .y1(line.y()) .y0(y(0)); var svg = d3.select("#"+$(element).attr("id")).append("svg") .datum(data) .attr("width", width + margin.left + margin.right) .attr("height", height + margin.top + margin.bottom) .append("g") .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); svg.append("path") .attr("class", "line") .attr("d", area); svg.append("g") .attr("class", "x axis") .attr("transform", "translate(0," + (height+4) + ")") .call(xAxis); svg.append("g") .attr("class", "label") .attr("id", "xlabel") .append("text") .text(xTitle) .attr("x", 154.5) .attr("y", 260) .attr("text-anchor", "middle") .style("font-family", "Verdana") .style("font-size", 10); }; //function } //if d3.json($(element).attr('data'), function (data) { renderPlot(data, element); }); $(element).attr('rendered', 'true'); }); }