Skip to content

Commit 98c71f7

Browse files
committed
Merge branch 'develop'
Both graphs are now scaling properly.
2 parents c44781a + 32601d1 commit 98c71f7

File tree

2 files changed

+21
-21
lines changed

2 files changed

+21
-21
lines changed

dataview/templates/dataview/data_summary.html

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,20 +88,20 @@ <h4>Administration Time and Dosage</h4>
8888
console.log(out);
8989

9090
var data = [];
91-
for (var ouah in out) {
92-
data.push(out[ouah]);
91+
for (var ouah in out.dosages) {
92+
data.push(out.dosages[ouah]);
9393
}
9494

9595
var x = d3.scale.linear()
9696
.domain([0, d3.max(data)])
97-
.range([0, d3.max(data) * 10]);
97+
.range([0, d3.max(data)]);
9898

9999
d3.select(".dose_chart")
100100
.selectAll("div")
101101
.data(data)
102102
.enter().append("div")
103103
.style("width", function(d) { return x(d) + "px"; })
104-
.text(function(d) { return d; });
104+
.text(function(d) { return (d / out.scale_factor); });
105105
})
106106
.catch(err => { throw err });
107107
</script>
@@ -137,11 +137,6 @@ <h4>Time Between Subsequent Administrations</h4>
137137
//out = [ 7, 15, 2, 12, 13 ];
138138
console.log(out);
139139

140-
//var data = [];
141-
//for (var ouah in out) {
142-
// data.push(out[ouah]);
143-
//}
144-
145140
var x = d3.scale.linear()
146141
.domain([0, d3.max(out.timespans)])
147142
.range([0, d3.max(out.timespans)]);

dataview/views.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -129,29 +129,34 @@ def dump_dose_graph_data(request, sub_id):
129129
"""
130130

131131
dosage_graph_data = []
132-
# dosage_sub_id = request.POST['sub']
133132
usages = Usage.objects.filter(sub=sub_id)[:20]
134133

135-
# cntr = 0
134+
max_dosage = 0
136135
for use in usages:
137-
# dosage_graph_data[str(use.timestamp)] = float(use.dosage)
138-
# NOTE: switching to a standard array for now for simplicity in the
139-
# template's javascript; we can add more gravy later
140-
141136
# later on we can look at using use.notes as hover-over text for each
142137
# graph bar, or something of the like
143-
dosage_graph_data.append(float(use.dosage))
144-
# cntr += 1
138+
# dosage_graph_data.append(float(use.dosage))
139+
140+
if max_dosage < use.dosage:
141+
max_dosage = use.dosage
142+
143+
scale_factor = get_graph_normalization_divisor(max_dosage, 300)
145144

146-
return HttpResponse(json.dumps(dosage_graph_data), content_type='application/json')
145+
# okay, yeah the 2 for loops is gross, but my brain is fried and I want to
146+
# finish this quick; I'll fix it later
147+
# TODO: fix the gross 2 for loops issue
148+
for use in usages:
149+
dosage_graph_data.append(float(use.dosage * scale_factor))
150+
151+
return HttpResponse(json.dumps({'scale_factor': float(scale_factor), 'dosages': dosage_graph_data}),
152+
content_type='application/json')
147153

148154

149155
def dump_interval_graph_data(request, sub_id):
150-
# interval_graph_data = {}
151156
usages = Usage.objects.filter(sub=sub_id)[:20]
152157

153158
timespans = []
154-
prev_time = None # would we (perhaps optionally) want timezone.now()?
159+
prev_time = None
155160
max_span = datetime.timedelta(0)
156161
for use in usages:
157162
if prev_time is not None:
@@ -169,7 +174,7 @@ def dump_interval_graph_data(request, sub_id):
169174
for cntr in range(0, len(timespans)):
170175
timespans[cntr] = timespans[cntr] * scale_factor
171176

172-
return HttpResponse(json.dumps({ 'scale_factor': scale_factor, 'timespans': timespans }),
177+
return HttpResponse(json.dumps({'scale_factor': scale_factor, 'timespans': timespans}),
173178
content_type='application/json')
174179

175180

0 commit comments

Comments
 (0)