From 649f0ec99d2026a7d4a9002ee4a25478ca4b9504 Mon Sep 17 00:00:00 2001
From: zsloan
Date: Tue, 14 Jun 2016 20:42:12 +0000
Subject: Added y axis line to probability plot and bar chart
Automatically determines number of decimal places to show on y axis of probability plot; still need to figure out how to do it with bar chart
Added some logging to figure out MySQL connection issue
---
wqflask/wqflask/collect.py | 2 +-
wqflask/wqflask/model.py | 0
wqflask/wqflask/static/new/javascript/draw_probability_plot.js | 7 ++++++-
wqflask/wqflask/static/new/javascript/show_trait.js | 5 +++++
wqflask/wqflask/static/new/packages/nvd3/nv.d3.css | 2 +-
wqflask/wqflask/static/new/packages/nvd3/nv.d3.js | 5 +++--
wqflask/wqflask/templates/show_trait.html | 2 +-
wqflask/wqflask/user_manager.py | 4 ++++
8 files changed, 21 insertions(+), 6 deletions(-)
mode change 100755 => 100644 wqflask/wqflask/model.py
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index cd4c6fdc..9227d641 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -15,7 +15,7 @@ import urlparse
import simplejson as json
-from sqlalchemy import orm
+#from sqlalchemy import orm
#from redis import StrictRedis
import redis
diff --git a/wqflask/wqflask/model.py b/wqflask/wqflask/model.py
old mode 100755
new mode 100644
diff --git a/wqflask/wqflask/static/new/javascript/draw_probability_plot.js b/wqflask/wqflask/static/new/javascript/draw_probability_plot.js
index 3eb6295f..1eeb6e73 100644
--- a/wqflask/wqflask/static/new/javascript/draw_probability_plot.js
+++ b/wqflask/wqflask/static/new/javascript/draw_probability_plot.js
@@ -46,7 +46,7 @@
chart.pointRange([50, 50]);
chart.legend.updateState(false);
chart.xAxis.axisLabel("Theoretical quantiles").tickFormat(d3.format('.02f'));
- chart.yAxis.axisLabel("Sample quantiles").tickFormat(d3.format('.02f'));
+ //chart.yAxis.axisLabel("Sample quantiles").tickFormat(d3.format('.02f'));
chart.tooltipContent(function(obj) {
return '' + obj.point.name + '';
});
@@ -66,15 +66,20 @@
sorted_names = names.sort(function(x, y) {
return all_samples[x].value - all_samples[y].value;
});
+ max_decimals = 0
sorted_values = (function() {
var j, len, results;
results = [];
for (j = 0, len = sorted_names.length; j < len; j++) {
x = sorted_names[j];
results.push(all_samples[x].value);
+ if (all_samples[x].value.countDecimals() > max_decimals) {
+ max_decimals = all_samples[x].value.countDecimals()-1
+ }
}
return results;
})();
+ chart.yAxis.axisLabel("Sample quantiles").tickFormat(d3.format('.0'+max_decimals.toString()+'f'));
sw_result = ShapiroWilkW(sorted_values);
W = sw_result.w.toFixed(3);
pvalue = sw_result.p.toFixed(3);
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js
index 34d1a139..589b1074 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.js
+++ b/wqflask/wqflask/static/new/javascript/show_trait.js
@@ -521,5 +521,10 @@
$('#reset').click(edit_data_change);
return console.log("end");
});
+
+ Number.prototype.countDecimals = function () {
+ if(Math.floor(this.valueOf()) === this.valueOf()) return 0;
+ return this.toString().split(".")[1].length || 0;
+ }
}).call(this);
diff --git a/wqflask/wqflask/static/new/packages/nvd3/nv.d3.css b/wqflask/wqflask/static/new/packages/nvd3/nv.d3.css
index 726f76c3..694b9218 100644
--- a/wqflask/wqflask/static/new/packages/nvd3/nv.d3.css
+++ b/wqflask/wqflask/static/new/packages/nvd3/nv.d3.css
@@ -16,7 +16,7 @@
}
.nvd3 .nv-axis.nv-x path.domain {
- stroke-opacity: 0;
+ stroke-opacity: 1;
}
.nvd3 .nv-axis line {
diff --git a/wqflask/wqflask/static/new/packages/nvd3/nv.d3.js b/wqflask/wqflask/static/new/packages/nvd3/nv.d3.js
index b11ce58f..4d8b9d65 100644
--- a/wqflask/wqflask/static/new/packages/nvd3/nv.d3.js
+++ b/wqflask/wqflask/static/new/packages/nvd3/nv.d3.js
@@ -1556,7 +1556,7 @@ nv.models.axis = function() {
, width = 75 //only used for tickLabel currently
, height = 60 //only used for tickLabel currently
, axisLabelText = null
- , showMaxMin = true //TODO: showMaxMin should be disabled on all ordinal scaled axes
+ , showMaxMin = false //TODO: showMaxMin should be disabled on all ordinal scaled axes
, rotateLabels = 0
, rotateYLabel = true
, staggerLabels = false
@@ -7894,7 +7894,8 @@ nv.models.multiBar = function() {
bars.select('polyline')
.attr('fill', 'none')
- .attr('stroke', function(d, i, j) { return errorBarColor(d, j, i); })
+ .attr('stroke', 'black')
+ //.attr('stroke', function(d, i, j) { return errorBarColor(d, j, i); })
.attr('points', function(d,i) {
var yerr = getYerr(d,i)
, mid = 0.8 * x.rangeBand() / ((stacked ? 1 : data.length) * 2);
diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html
index 5e2dc6fa..1890cf3f 100755
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/wqflask/wqflask/templates/show_trait.html
@@ -7,7 +7,7 @@
-
+
diff --git a/wqflask/wqflask/user_manager.py b/wqflask/wqflask/user_manager.py
index e16a397d..e334a9aa 100755
--- a/wqflask/wqflask/user_manager.py
+++ b/wqflask/wqflask/user_manager.py
@@ -12,6 +12,7 @@ import os
import hashlib
import datetime
import time
+import logging
import uuid
import hashlib
@@ -141,6 +142,9 @@ class UserSession(object):
"""Actual sqlalchemy record"""
# Only look it up once if needed, then store it
try:
+ logging.basicConfig()
+ logging.getLogger('sqlalchemy.pool').setLevel(logging.DEBUG)
+
# Already did this before
return self.db_object
except AttributeError:
--
cgit v1.2.3