From 6d978b3f0a303a9a0fb6dd5a8cee47a72b38e262 Mon Sep 17 00:00:00 2001 From: oracle Date: Wed, 11 May 2016 19:23:22 +0900 Subject: [PATCH] Modified the barchart page to accept general sparql queries. --- d3sparql-barchart.html | 12 +++++++----- d3sparql.js | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/d3sparql-barchart.html b/d3sparql-barchart.html index 187bbff..b84727d 100644 --- a/d3sparql-barchart.html +++ b/d3sparql-barchart.html @@ -13,10 +13,10 @@ } function render(json) { var config = { - "label_x": "Prefecture", - "label_y": "Area", - "var_x": "pref", - "var_y": "area", + "label_x": "", + "label_y": "", + "var_x": "", + "var_y": "", "width": 700, // canvas width "height": 300, // canvas height "margin": 80, // canvas margin @@ -55,7 +55,9 @@

d3barchart

PREFIX yago: PREFIX dbpedia-owl: -SELECT ?pref ?area +SELECT + (?pref AS ?Prefecture) # x-axis + (?area AS ?Area) # y-axis WHERE { ?s a yago:PrefecturesOfJapan ; rdfs:label ?pref ; diff --git a/d3sparql.js b/d3sparql.js index b77299a..3ff6d1e 100644 --- a/d3sparql.js +++ b/d3sparql.js @@ -431,7 +431,7 @@ d3sparql.barchart = function(json, config) { var scale_y = d3.scale.linear().range([opts.height - opts.margin, 0]) var axis_x = d3.svg.axis().scale(scale_x).orient("bottom") var axis_y = d3.svg.axis().scale(scale_y).orient("left") // .ticks(10, "%") - scale_x.domain(data.map(function(d) { return d[opts.var_x].value })) + scale_x.domain(data.map(function(d) { return d[opts.var_x].value.slice(0,5) })) scale_y.domain(d3.extent(data, function(d) { return parseInt(d[opts.var_y].value) })) var svg = d3sparql.select(opts.selector, "barchart").append("svg") @@ -454,7 +454,7 @@ d3sparql.barchart = function(json, config) { .append("rect") .attr("transform", "translate(" + opts.margin + "," + 0 + ")") .attr("class", "bar") - .attr("x", function(d) { return scale_x(d[opts.var_x].value) }) + .attr("x", function(d) { return scale_x(d[opts.var_x].value.slice(0,5)) }) .attr("width", scale_x.rangeBand()) .attr("y", function(d) { return scale_y(d[opts.var_y].value) }) .attr("height", function(d) { return opts.height - scale_y(parseInt(d[opts.var_y].value)) - opts.margin })