Skip to content
This repository has been archived by the owner on Jul 9, 2024. It is now read-only.

Commit

Permalink
feat(graph): various fixes to graph et al
Browse files Browse the repository at this point in the history
fix incorrect numbers
add parent row
fix hovering multiple columns
add default column sorting
change column order
fixed label regression
remove bottom githut axis
Closes #373, 361, 348, 383, 341, 384
Daniel Stern committed Feb 24, 2015
1 parent b307365 commit b7823c9
Showing 5 changed files with 67 additions and 90 deletions.
98 changes: 32 additions & 66 deletions app/scripts/projects/parallel-coordinates.ts
Original file line number Diff line number Diff line change
@@ -180,6 +180,25 @@ function ParallelCoordinates(data,options) {
.text(function(d){
return d;
});

svg.append('g')
.attr('height',100)
.attr("transform",function(d){
var x=xscale('Clinical')+(0.5*(xscale('DNA methylation')-xscale('Clinical')))+padding.left+margins.left,
y=70;
return "translate("+x+","+y+")";
})
.append('text')
.text("DATA TYPES")
.style("text-anchor",'middle')
.attr('class','title')

svg.append('rect')
.attr('width',xscale('DNA methylation')-xscale('Clinical'))
.attr('height',1)
.attr('y',75)
.attr('x',xscale('Clinical') +padding.left+margins.left);


var axis=column
.filter(function(col){
@@ -193,67 +212,11 @@ function ParallelCoordinates(data,options) {
return "translate("+x+","+y+")";
})

axis.append("line")
.attr("x1",function(d){
return -width_scales[d].range()[1]/2;
})
.attr("y1",0)
.attr("x2",function(d){
return width_scales[d].range()[1]/2;
})
.attr("y2",0)



var ticks=axis
.selectAll("g.tick")
.data(function(d){
axis.append("line");
//

var ticks=[
0,
width_scales[d].domain()[1]
].map(function(v,i){
return {
value:i===0?0:v,
x:(i===0?0:width_scales[d](v)/2),
domain:width_scales[d].domain(),
range:width_scales[d].range()
}
});

return ticks.concat(ticks.map(function(t){
return {
scale:d,
value:t.value,
x:-t.x
};
}));
})
.enter()
.append("g")
.attr("class","tick")
.classed("start",function(d){
return d.x<0;
})
.classed("end",function(d){
return d.x>0;
})
.attr("transform",function(d){
return "translate("+d.x+",0)";
})

ticks.append("line")
.attr("x1",0)
.attr("y1",-3)
.attr("x2",0)
.attr("y2",3)

ticks.append("text")
.attr("x",0)
.attr("y",12)
.text(function(d){
return d3.format("s")(d.value);
})
var ticks=axis;
}

function updateAxes() {
@@ -671,15 +634,16 @@ function ParallelCoordinates(data,options) {
return d.column=="primary_site"
})
.on("mouseover",function(d){

labels_group
.selectAll(".labels")
.classed("primary_site",function(l){
.classed("hover",function(l){
return l.values.primary_site==d.value;
});

languages_group
.selectAll(".lang")
.classed("primary_site",function(l){
.classed("hover",function(l){
return l.values.primary_site==d.value;
});
})
@@ -741,9 +705,9 @@ function ParallelCoordinates(data,options) {
HEIGHT=Math.min(500);

var margins={
left:20,
left:0,
right:30,
top:30,
top:100,
bottom:30
};

@@ -837,6 +801,8 @@ function ParallelCoordinates(data,options) {
var xscale=d3.scale.ordinal()
.domain(options.columns)
.rangePoints([0,WIDTH-(margins.left+margins.right+padding.left+padding.right)]);

// debugger;


var yscales={},
@@ -892,9 +858,9 @@ function ParallelCoordinates(data,options) {
.classed("hover",true)
})
.on("mouseout",function(d){
svg.selectAll("g.hover,g.primary_site")
.classed("hover",false)
.classed("primary_site",false);
svg.selectAll("g.hover,g.primary_site")
.classed("hover",false)
.classed("primary_site",false);
})

var language=languages_group.selectAll("g.lang")
28 changes: 14 additions & 14 deletions app/scripts/projects/projects.controller.ts
Original file line number Diff line number Diff line change
@@ -116,16 +116,6 @@ function githutTable(data){
display_name:["Project","Code"],
scale:'ordinal',
dimensional:true
},{
id:'file_size',
display_name:["File","Size"],
scale:'ordinal',
dimensional:true
},{
id:'file_count',
display_name:["File","Count"],
scale:'ordinal',
dimensional:true
},{
id:'participant_count',
display_name:["Part.","Count"],
@@ -191,13 +181,24 @@ function githutTable(data){
scale:'ordinal',
is_subtype:true,
dimensional:true
},{
id:'file_count',
display_name:["File","Count"],
scale:'ordinal',
dimensional:true
},{
id:'file_size',
display_name:["File","Size"],
scale:'ordinal',
dimensional:true
},{
id:'primary_site',
display_name:["Primary","Site"],
scale:'linear',
dimensional:true
}];




var aggregations = d3.keys(project_codes).reduce(function(a,key){
@@ -222,14 +223,13 @@ function githutTable(data){
.filter(function(c){return c.is_subtype})
.forEach(function(s){
var thing = findTheThing(types,s.id,"data_type");
the_returned[s.id] = thing ? thing.file_count : 0;
the_returned[s.id] = thing ? thing.participant_count : 0;
})

a[key] = the_returned;
return a;
},{});

console.log("Data:", aggregations);


// aggregations = {
// 'ACC':aggregations['ACC']
@@ -279,7 +279,7 @@ function githutTable(data){
* Don't know how well this is implemented.
*/
sorting:{
"project_code":d3.descending
"participant_count":d3.ascending
},

/**
12 changes: 6 additions & 6 deletions app/scripts/projects/projects.table.model.ts
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ module ngApp.projects.models {

var projectTableModel:TableiciousConfig = {
title: 'Projects',
order: ['disease_type', 'primary_site', 'program', 'participants', 'project_name', 'file_size', 'files', 'last_update'],
order: ['disease_type', 'project_name','primary_site', 'program', 'participants', 'file_size', 'files', 'last_update'],
headings: [{
displayName: "Code",
id: "project_code",
@@ -24,6 +24,10 @@ module ngApp.projects.models {
return "project({projectId:'" + field.val + "'})"
}
}, {
displayName: "Project",
id: "project_name",
enabled: false
},{
displayName: "Disease Type",
id: "disease_type",
enabled: true
@@ -52,11 +56,7 @@ module ngApp.projects.models {

},
fieldClass: 'text-right',
}, {
displayName: "Project",
id: "project_name",
enabled: false
}, {
}, {
displayName: "Available Participants per Data Type",
id: "data_types",
headingClass:'text-center',
10 changes: 7 additions & 3 deletions app/scripts/projects/templates/projects.html
Original file line number Diff line number Diff line change
@@ -50,9 +50,13 @@ <h3 class="col-lg-9 col-md-8" data-ng-if="prsc.projects.hits.length === 0" data-
Graph
</button>
</div>
<div class="githut">
<div id="pc" data-ng-show="prsc.projects.hits.length && mode === 'graph'"></div>
</div>
<div class="githut">



<div id="pc" data-ng-show="mode==='graph'"></div>
</div>

<gdc-table data-data="prsc.projects.hits"
data-config="tableConfig"
data-heading="Projects ({{prsc.projects.pagination.total}})"
9 changes: 8 additions & 1 deletion app/styles/tables.less
Original file line number Diff line number Diff line change
@@ -532,4 +532,11 @@ ul[dnd-list], ul.sort-list {
.icon-twitter:before { content: '\e801'; } /* '' */
.icon-gplus:before { content: '\e802'; } /* '' */
.icon-facebook:before { content: '\e803'; } /* '' */
}
}
text.title {
text-anchor: middle;
text-transform: uppercase;
font-size: 11px;
font-weight: 400;
cursor: help;
}

0 comments on commit b7823c9

Please sign in to comment.