Commit a5f5af3b by Bridger Maxwell

Got a basic, working graph of the scores

--HG--
branch : profiledev
parent 348796e5
......@@ -104,29 +104,84 @@ $(function() {
<script type="text/javascript" src="${ settings.LIB_URL }flot/jquery.flot.min.js"></script>
<script type="text/javascript" src="${ settings.LIB_URL }flot/jquery.flot.stack.js"></script>
<script language="javascript" type="text/javascript" src="${ settings.LIB_URL }flot/jquery.flot.symbol.js"></script>
<script>
$(function () {
var ticks = [];
var tooltips = {};
var homeworkData = ${ json.dumps( [[i + 1, score['percentage']] for i,score in enumerate(homework_percentages)] ) };
tooltips["Homework"] = ${ json.dumps( ["Homework {} - {}".format(str(i + 1), score['summary']) for i,score in enumerate(homework_percentages)] ) };
ticks = ticks.concat( ${ json.dumps( [[i + 1, str(i + 1)] for i,score in enumerate(homework_percentages)] ) } );
var homeworkData = ${ json.dumps( [[i + 1, percentage] for i,percentage in enumerate(homework_percentages)] ) };
var labData = ${ json.dumps( [[i + 13, percentage] for i,percentage in enumerate(lab_percentages)] ) };
var labData = ${ json.dumps( [[i + 13, score['percentage'], score['summary']] for i,score in enumerate(lab_percentages)] ) };
ticks = ticks.concat( ${ json.dumps( [[i + 13, str(i + 1)] for i,score in enumerate(lab_percentages)] ) } );
var droppedScores = ${ json.dumps( [[1 + index, 0.05] for index in homework_dropped_indices] + [[13 + index, 0.05] for index in homework_dropped_indices]) };
//var midtermData = ${ json.dumps( [ [i + 25, ] ] ) };
var data = [
//{label: 'Homework Total', data: [ [0.5,0.8] ], bars: {barWidth: 12, align: 'left'} },
{label: 'Homework Total', data: [ [0.5, ${homework_total} ] ], bars: {barWidth: 12, align: 'left'} },
{label: 'Homework', data: homeworkData, color: 0},
//{label: 'Lab Total', data: [ [12.5,0.9] ], bars: {barWidth: 12, align: 'left'}},
{label: 'Lab Total', data: [ [12.5, ${lab_total} ]], bars: {barWidth: 12, align: 'left'}},
{label: 'Labs', data: labData, color: 1},
{label: 'Midterm', data: [[25,0.87]], color: 2},
{label: 'Final', data: [[26,0.65]], color: 3},
{label: 'Dropped Scores', data: droppedScores, points: {symbol: "cross", show: true, radius: 3}, bars: {show: false} },
];
var options = {
series: {lines: {show: false, steps: false },
bars: {show: true, barWidth: 0.6, align: 'center',},},
xaxis: {ticks: [[1,'1'], [2,'2'], [3,'3'], [4,'4'], [5,'5']]},
bars: {show: true, barWidth: 0.6, align: 'center', lineWidth: 1},},
xaxis: {ticks: ticks, tickLength: 0},
yaxis: {ticks: [[1, "100%"], [0.87, "A 87%"], [0.7, "B 70%"], [0.6, "C 60%"], [0, "0%"]], min: 0.0, max: 1.0, labelWidth: 50},
grid: { hoverable: true, clickable: true, borderWidth: 1,
markings: [ {yaxis: {from: 0.87, to: 1 }, color: "#EBFFD5"}, {yaxis: {from: 0.7, to: 0.87 }, color: "#FFF2E3"}, {yaxis: {from: 0.6, to: 0.7 }, color: "#E6FFFF"}, ] },
legend: {show: false},
};
$.plot($("#homework-detail-graph"), data, options);
function showTooltip(x, y, contents) {
$('<div id="tooltip">' + contents + '</div>').css( {
position: 'absolute',
display: 'none',
top: y + 5,
left: x + 5,
border: '1px solid #fdd',
padding: '2px',
'background-color': '#fee',
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
var previousPoint = null;
$("#homework-detail-graph").bind("plothover", function (event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
if (item.series.label in tooltips) {
var series_tooltips = tooltips[item.series.label];
if (item.dataIndex < series_tooltips.length) {
var x = item.datapoint[0].toFixed(2), y = item.datapoint[1].toFixed(2);
showTooltip(item.pageX, item.pageY, series_tooltips[item.dataIndex]);
}
}
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
});
});
</script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment