Add timestamp offset for block header
[p2pool.git] / web-static / graphs.html
index 5bd8daa..b7fe392 100644 (file)
                         d3.max(lines, function(line) { return d3.max(line.data, itemgetter(1)); } )
                     ]).range([h - margin_v, margin_v]);
                     
+                    var y_abs = d3.scale.linear().domain([0, 1]).range([h - margin_v, margin_v]);
+                    
                     g.selectAll().data(lines).enter().append("svg:path")
                         .attr("d", function(line) {
                             return d3.svg.line()
                         .style("stroke", function(line) { return line.color })
                         .attr("class", "plotline");
                     
+                    lines.sort(function(a, b) { return get_area_mean(a.data).mean > get_area_mean(b.data).mean; });
+                    
                     for(var i = 0; i < lines.length; ++i) {
                         var line = lines[i];
                         var stats = get_area_mean(line.data);
                         if(stats.mean != null) {
+                            g.append("svg:line")
+                                .style("stroke", line.color)
+                                .attr("x1", w - margin_h + 3)
+                                .attr("y1", y(stats.mean))
+                                .attr("x2", w - margin_h + 10)
+                                .attr("y2", y_abs(i/lines.length));
                             g.append("svg:text")
                                 .text(line.label)
                                 .attr("text-anchor", "start")
                                 .attr("dominant-baseline", "central")
                                 .attr("fill", line.color)
                                 .attr("x", w - margin_h + 10)
-                                .attr("y", y(stats.mean) - 12);
+                                .attr("y", y_abs(i/lines.length) - 12);
                             g.append("svg:text")
-                                .text("-Mean: " + d3.format(".3s")(stats.mean) + unit)
+                                .text("Mean: " + d3.format(".3s")(stats.mean) + unit)
                                 .attr("text-anchor", "start")
                                 .attr("dominant-baseline", "central")
                                 .attr("fill", line.color)
-                                .attr("x", w - margin_h)
-                                .attr("y", y(stats.mean));
+                                .attr("x", w - margin_h + 10)
+                                .attr("y", y_abs(i/lines.length));
                             if(total_unit != null)
                                 g.append("svg:text")
                                     .text("Area: " + d3.format(".3s")(stats.area) + total_unit)
                                     .attr("dominant-baseline", "central")
                                     .attr("fill", line.color)
                                     .attr("x", w - margin_h + 10)
-                                    .attr("y", y(stats.mean) + 12);
+                                    .attr("y", y_abs(i/lines.length) + 12);
                         }
                     }
                 }
                     {"url": "../web/graph_data/local_hash_rate/last_" + lowerperiod, "color": "#0000FF", "label": "Total"},
                     {"url": "../web/graph_data/local_dead_hash_rate/last_" + lowerperiod, "color": "#FF0000", "label": "Dead"}
                 ]);
-                plot_later(d3.select("#local_shares"), "H/s", "H", [
-                    {"url": "../web/graph_data/local_share_hash_rate/last_" + lowerperiod, "color": "#0000FF", "label": "Total"},
-                    {"url": "../web/graph_data/local_dead_share_hash_rate/last_" + lowerperiod, "color": "#FF0000", "label": "Dead"},
-                    {"url": "../web/graph_data/local_orphan_share_hash_rate/last_" + lowerperiod, "color": "#00FF00", "label": "Orphan"}
-                ]);
+                d3.json("../web/graph_data/local_share_hash_rates/last_" + lowerperiod, function(data) {
+                    plot(d3.select('#local_shares'), 'H/s', 'H', data_to_lines(data), true);
+                });
                 plot_later(d3.select("#payout"), currency_info.symbol, null, [
                     {"url": "../web/graph_data/current_payout/last_" + lowerperiod, "color": "#0000FF"}
                 ]);