Commit 16b527f0 authored by PkSM3's avatar PkSM3

[UPDATE] ngrams.html with sorting OK

parent 85aeadfb
......@@ -3447,4 +3447,4 @@ dc.bubbleOverlay = function(root, chartGroup) {
};
return _chart.anchor(parent, chartGroup);
};
\ No newline at end of file
};
......@@ -951,8 +951,10 @@
};
this.clear = function() {
settings.dataset.sorts = {};
settings.dataset.sortsKeys.length = 0;
settings.dataset.queries = {};
obj.$element.trigger('dynatable:sorts:cleared');
};
......
......@@ -235,19 +235,40 @@ function SelectAll( the_checkbox ) {
MyTable.data('dynatable').dom.update();
}
function Main( data , initial) {
function Main_test( data , initial) {
var DistributionDict = {}
for(var i in DistributionDict)
delete DistributionDict[i];
delete DistributionDict;
DistributionDict = {}
AjaxRecords = []
var FirstScore = initial;
var arrayd3 = []
$("#div-table").html("")
$("#div-table").empty();
var div_table = '<p align="right">'+"\n"
div_table += '<table id="my-ajax-table" class="table table-bordered">'+"\n"
div_table += "\t"+'<thead>'+"\n"
div_table += "\t"+"\t"+'<th data-dynatable-column="name">Title</th>'+"\n"
div_table += "\t"+"\t"+'<th id="score_column_id" data-dynatable-sorts="score" data-dynatable-column="score">Score</th>'+"\n"
div_table += "\t"+"\t"+'<th data-dynatable-column="del" data-dynatable-no-sort="true">'+"\n"
div_table += "\t"+"\t"+"\t"+'<input type="checkbox" id="multiple_selection" onclick="SelectAll(this);" /> Select'+"\n"
div_table += "\t"+"\t"+'</th>'+"\n"
div_table += "\t"+'</thead>'+"\n"
div_table += "\t"+'<tbody>'+"\n"
div_table += "\t"+'</tbody>'+"\n"
div_table += '</table>'+"\n"
div_table += '</p>';
$("#div-table").html(div_table)
for(var i in data.ngrams) {
var le_ngram = data.ngrams[i]
......@@ -287,7 +308,13 @@ function Main( data , initial) {
oldest = Number(min_occ);
latest = Number(max_occ);
var ndx = crossfilter();
var ndx = false;
ndx = crossfilter();
ndx.add(DistributionList);
// x_occs = ndx.dimension(dc.pluck('x_occ'));
......@@ -320,7 +347,8 @@ function Main( data , initial) {
// .stack(y_frecs, function (d) {
// return d.value;
// })
// .elasticY(true)
// .ordinalColors(d3.scale.category10())
.elasticY(true)
// .round(dc.round.floor)
.renderHorizontalGridLines(true)
.renderVerticalGridLines(true)
......@@ -331,14 +359,13 @@ function Main( data , initial) {
.title(function (d) {
var value = d.value.avg ? d.value.avg : d.value;
if (isNaN(value)) value = 0;
return value+" ngrams with occ="+Number(d.key);
return value+" ngrams with "+FirstScore+"="+Number(d.key);
})
.xAxis();
LineChart.yAxis().ticks(5)
LineChart.render()
volumeChart.width(800)
.height(100)
.margins({top: 30, right: 50, bottom: 20, left: 40})
......@@ -346,8 +373,8 @@ function Main( data , initial) {
.group(y_frecs)
.centerBar(true)
.gap(5)
.x(d3.scale.linear().domain([min_occ/2,max_occ]))
.y(d3.scale.sqrt().domain([min_frec/2,max_frec]))
.x(d3.scale.linear().domain([min_occ/2,max_occ+min_occ]))
.y(d3.scale.sqrt().domain([min_frec/2,max_frec+min_frec]))
// .elasticY(true)
// // .round(d3.time.month.round)
// // .xUnits(d3.time.months)
......@@ -374,6 +401,11 @@ function Main( data , initial) {
volumeChart.yAxis().ticks(5)
volumeChart.render()
LineChart.filterAll();
volumeChart.filterAll();
dc.redrawAll();
MyTable = []
MyTable = $('#my-ajax-table').dynatable({
dataset: {
records: AjaxRecords
......@@ -388,14 +420,18 @@ function Main( data , initial) {
}
});
MyTable.data('dynatable').settings.dataset.originalRecords = []
MyTable.data('dynatable').settings.dataset.originalRecords = AjaxRecords;
// MyTable.data('dynatable').settings.dataset.records = []
// MyTable.data('dynatable').settings.dataset.originalRecords = []
// MyTable.data('dynatable').settings.dataset.originalRecords = AjaxRecords;
MyTable.data('dynatable').paginationPage.set(1);
// MyTable.data('dynatable').process();
// MyTable.data('dynatable').sorts.clear();
MyTable.data('dynatable').process();
$("#score_column_id").children()[0].text = FirstScore
// // // $("#score_column_id").children()[0].text = FirstScore
// // // // MyTable.data('dynatable').process();
if ( $(".imadiv").length>0 ) return 1;
$('<br><br><div class="imadiv"></div>').insertAfter(".dynatable-per-page")
$(".dynatable-record-count").insertAfter(".imadiv")
......@@ -408,25 +444,28 @@ console.log(window.location.href+"/ngrams.json")
$.ajax({
url: window.location.href+"/ngrams.json",
success: function(data){
// Building the Score-Selector
var FirstScore = data.scores.initial
var possible_scores = Object.keys( data.ngrams[0].scores );
var scores_div = '<select id="scores_selector">'+"\n";
var scores_div = '<select class="span1" id="scores_selector">'+"\n";
scores_div += "\t"+'<option value="'+FirstScore+'">'+FirstScore+'</option>'+"\n"
for( var i in possible_scores ) {
if(possible_scores[i]!=FirstScore) {
scores_div += "\t"+'<option value="'+possible_scores[i]+'">'+possible_scores[i]+'</option>'+"\n"
}
}
var result = Main( data , FirstScore )
// Initializing the Charts and Table
var result = Main_test( data , FirstScore )
console.log( result )
// Listener for onchange Score-Selector
scores_div += "<select>"+"\n";
$("#ScoresBox").html(scores_div)
$("#scores_selector").on('change', function() {
console.log( this.value )
var result = Main( data , this.value )
var result = Main_test( data , this.value )
console.log( result )
});
......
......@@ -78,14 +78,14 @@ th a {
<div class="container">
<div class="row">
<div id="monthly-move-chart">
<center>
<div id="ScoresBox"></div> (Blue bars: all, Green line: zoom)
<div id="ScoresBox"></div> <br>(Blue bars: all, Green line: zoom)
<a class="reset" href="javascript:volumeChart.filterAll();dc.redrawAll();"
style="display: none;">reset</a>
<div class="clearfix"></div>
</center>
</div>
<div id="monthly-move-chart"></div>
</div>
<div class="row">
......@@ -111,10 +111,10 @@ th a {
</div>
<div id="collapseOne" class="panel-collapse collapse no-transition" role="tabpanel">
<div class="panel-body">
<p align="right">
<div id="div-table"></div>
<!-- <p align="right">
<table id="my-ajax-table" class="table table-bordered">
<thead>
<!-- <th data-dynatable-column="id">ID</th> -->
<th data-dynatable-column="name">Title</th>
<th id="score_column_id" data-dynatable-sorts="score" data-dynatable-column="score">Score</th>
<th data-dynatable-column="del" data-dynatable-no-sort="true">
......@@ -124,7 +124,7 @@ th a {
<tbody>
</tbody>
</table>
</p>
</p> -->
<p align="right">
<button id="move2trash" class="btn btn-primary btn-lg" >Trash It!</button>
</p>
......
......@@ -199,7 +199,7 @@ def test_ngrams(request , project_id, corpus_id ):
ngrams_ids = Ngrams_Scores.keys()
import math
occs_threshold = math.sqrt(Sum / len(ngrams_ids))
occs_threshold = min ( 10 , math.sqrt(Sum / len(ngrams_ids)) )
Metrics = {
"ngrams":[],
......@@ -210,15 +210,18 @@ def test_ngrams(request , project_id, corpus_id ):
query = session.query(Ngram).filter(Ngram.id.in_( ngrams_ids ))
ngrams_data = query.all()
for ngram in ngrams_data:
if Ngrams_Scores[ngram.id]["scores"]["occ_uniq"] > occs_threshold:
occ_uniq = Ngrams_Scores[ngram.id]["scores"]["occ_uniq"]
if occ_uniq > occs_threshold:
Ngrams_Scores[ngram.id]["name"] = ngram.terms
Ngrams_Scores[ngram.id]["id"] = ngram.id
Ngrams_Scores[ngram.id]["scores"]["tfidf"] = Ngrams_Scores[ngram.id]["scores"]["tfidf_sum"] / occ_uniq
del Ngrams_Scores[ngram.id]["scores"]["tfidf_sum"]
Metrics["ngrams"].append( Ngrams_Scores[ngram.id] )
Metrics["scores"] = {
"initial":"occ_sum",
"initial":"occ_uniq",
"nb_docs":len(documents),
"orig_nb_ngrams":len(ngrams_ids),
"nb_ngrams":len(Metrics["ngrams"]),
......
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