|
|
@ -1,27 +1,29 @@ |
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<div class="column"> |
|
|
|
<div class="column"> |
|
|
|
<svg id="chartID" class="chart"></svg> |
|
|
|
<svg id="chartID" class="chart" style="min-height: 66px !important; max-height: 66px !important; min-width:318px !important;"></svg> |
|
|
|
<div id="FeatureGraph" style="border-style: solid; border-width: 3px; border-color: yellow; min-height: 819px; max-height: 819px; min-width: 819px"></div> |
|
|
|
<div id="FeatureGraph" style="border-style: solid; border-width: 3px; border-color: black; min-height: 819px; max-height: 819px; min-width: 819px !important; max-width: 819px !important"></div> |
|
|
|
<div id="toolbar" style="min-height: 67px; max-height: 67px; margin-top: 25px"> |
|
|
|
<div id="toolbar" style="min-height: 67px; max-height: 67px; margin-top: 25px; max-width: 819px !important"> |
|
|
|
<div class="panel panel-default" data-placement="center"> |
|
|
|
<div class="panel panel-default" data-placement="center"> |
|
|
|
<div class="panel-body" id="resetAllFilters" data-placement="center" style="margin-top: -20px"> |
|
|
|
<div class="panel-body" id="resetAllFilters" data-placement="center" style="margin-top: -20px"> |
|
|
|
<table class="table table-borderless centerTable" > |
|
|
|
<table class="table table-borderless centerTable" > |
|
|
|
<tbody> |
|
|
|
<tbody> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<div style="border: 1px solid black; height:70px; margin-top:19px"> |
|
|
|
<div style="border: 1px solid black; height:68px; margin-top:19px"> |
|
|
|
<td scope="row"><button class="btn btn-primary active" id="initButton" v-on:click="setLayerExplore" style="margin-top: 3px; margin-left: -1px !important" ><font-awesome-icon icon="wrench" style="margin-right: 5px"/>Transformation</button></td> |
|
|
|
<td scope="row"><button class="btn btn-primary active" id="initButton" v-on:click="setLayerExplore" style="margin-top: 3px; margin-left: 0px !important" ><font-awesome-icon icon="wrench" style="margin-right: 5px"/>Feature Transformation</button></td> |
|
|
|
<td><button class="btn btn-primary" v-on:click="setLayerCompare" style="margin-top: 3px; margin-left: -1.4px"><font-awesome-icon icon="balance-scale" style="margin-right: 5px" />Generation</button></td> |
|
|
|
<td><button class="btn btn-primary" v-on:click="setLayerCompare" style="margin-top: 3px; margin-left: -15px"><font-awesome-icon icon="balance-scale" style="margin-right: 5px" />Feature Generation</button></td> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<td> |
|
|
|
<td> |
|
|
|
<div id="buildLegend" style="min-width: 160px;"> |
|
|
|
<div id="glyphLegend"> |
|
|
|
<div id="legend" style="margin-top: 2px; "></div> |
|
|
|
<div id="buildLegend"> |
|
|
|
<div id="legendText" style="border: 1px solid black; min-height: 70px; max-height: 70px; min-width:181px; margin-top: 16px; margin-left:-12px;"></div> |
|
|
|
<div id="legend" style="margin-top: 2px; margin-left: -6px"></div> |
|
|
|
|
|
|
|
<div id="legendText" title="MI: Mutual Information (range: light blue to dark blue); COR: Correlation (range: 0%-100%); VIF: Variance Influence Factor (range: ... < 2.5 < 5 < 10 < ...)" style="border: 1px solid black; min-height: 68px; max-height: 68px; min-width:170px; margin-top: 17px; margin-left: -12px"></div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</td> |
|
|
|
</td> |
|
|
|
<td> |
|
|
|
<td> |
|
|
|
<div class="row align-items-center " style="height: 70px; margin-top:7px; border: 1px solid black"> |
|
|
|
<div id="floatingPanel" class="row align-items-center " style="height: 66px; margin-top:11px; border: 1px solid black; max-width: 260px"> |
|
|
|
<div class="col-lg-4"><p>Fs COR (>)</p></div> |
|
|
|
<div class="col-lg-4" style="margin-top:3px; margin-left: -5px"><p>Fs COR (>)</p></div> |
|
|
|
<div class="col-lg-7"><div id="thres"></div></div> |
|
|
|
<div class="col-lg-7" style="margin-top:1px; margin-left: -15px"><div id="thres"></div></div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</td> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
@ -83,10 +85,10 @@ export default { |
|
|
|
var gStepPos = d3 |
|
|
|
var gStepPos = d3 |
|
|
|
.select('div#thres') |
|
|
|
.select('div#thres') |
|
|
|
.append('svg') |
|
|
|
.append('svg') |
|
|
|
.attr('width', 200) |
|
|
|
.attr('width', 176) |
|
|
|
.attr('height', 80) |
|
|
|
.attr('height', 80) |
|
|
|
.append('g') |
|
|
|
.append('g') |
|
|
|
.attr('transform', 'translate(18,20)'); |
|
|
|
.attr('transform', 'translate(15,15)'); |
|
|
|
|
|
|
|
|
|
|
|
gStepPos.call(sliderStepPos); |
|
|
|
gStepPos.call(sliderStepPos); |
|
|
|
|
|
|
|
|
|
|
@ -555,6 +557,7 @@ export default { |
|
|
|
for (let i = 0; i < listofNodes.length; i++) { |
|
|
|
for (let i = 0; i < listofNodes.length; i++) { |
|
|
|
var numb = graph.nodes[i]['group'].match(/\d/g) |
|
|
|
var numb = graph.nodes[i]['group'].match(/\d/g) |
|
|
|
numb = parseInt(numb.join("")) |
|
|
|
numb = parseInt(numb.join("")) |
|
|
|
|
|
|
|
|
|
|
|
var items = document.getElementsByClassName(numb) |
|
|
|
var items = document.getElementsByClassName(numb) |
|
|
|
|
|
|
|
|
|
|
|
items.forEach( function (it) { |
|
|
|
items.forEach( function (it) { |
|
|
@ -570,7 +573,8 @@ export default { |
|
|
|
if (!str.includes("root")) { |
|
|
|
if (!str.includes("root")) { |
|
|
|
graph.nodes[i].active = false |
|
|
|
graph.nodes[i].active = false |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
document.getElementById('svg'+index).childNodes[0].childNodes[1].style.fill = "black" |
|
|
|
document.getElementsByClassName(str)[0].childNodes[0].childNodes[1].style.fill = "#D3D3D3" |
|
|
|
|
|
|
|
document.getElementById('svg'+index).childNodes[0].childNodes[1].style.fill = "#707070" |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -640,7 +644,7 @@ export default { |
|
|
|
if (groupsColor.getAttribute('fill') == "#D3D3D3") { |
|
|
|
if (groupsColor.getAttribute('fill') == "#D3D3D3") { |
|
|
|
if (selectionCounter < 3) { |
|
|
|
if (selectionCounter < 3) { |
|
|
|
// add here the different states of comparison! (=2 and =3) |
|
|
|
// add here the different states of comparison! (=2 and =3) |
|
|
|
groupsColor.setAttribute('fill', '#black') |
|
|
|
groupsColor.setAttribute('fill', '#707070') |
|
|
|
selectionCounter = selectionCounter + 1 |
|
|
|
selectionCounter = selectionCounter + 1 |
|
|
|
EventBus.$emit('Counter', selectionCounter) |
|
|
|
EventBus.$emit('Counter', selectionCounter) |
|
|
|
IDsGather.push(idLocal); |
|
|
|
IDsGather.push(idLocal); |
|
|
@ -720,8 +724,8 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var chartWidth = 310; |
|
|
|
var chartWidth = 310; |
|
|
|
var chartHeight = 65; |
|
|
|
var chartHeight = 66; |
|
|
|
var margin = {left: 8, right: 15, top: 10, bottom: 40}; |
|
|
|
var margin = {left: 16, right: 15, top: 5, bottom: 45}; |
|
|
|
var chartSvg = d3.select('svg.chart') |
|
|
|
var chartSvg = d3.select('svg.chart') |
|
|
|
.attr('width', chartWidth) |
|
|
|
.attr('width', chartWidth) |
|
|
|
.attr('height', chartHeight) |
|
|
|
.attr('height', chartHeight) |
|
|
@ -831,6 +835,7 @@ export default { |
|
|
|
dispatch.call('layoutend', forceSim, p, i); |
|
|
|
dispatch.call('layoutend', forceSim, p, i); |
|
|
|
|
|
|
|
|
|
|
|
++i; |
|
|
|
++i; |
|
|
|
|
|
|
|
|
|
|
|
if (i >= paramList.length) { |
|
|
|
if (i >= paramList.length) { |
|
|
|
|
|
|
|
|
|
|
|
var widthLoc = 100; |
|
|
|
var widthLoc = 100; |
|
|
@ -847,7 +852,7 @@ export default { |
|
|
|
var data = [] |
|
|
|
var data = [] |
|
|
|
var barchartData = [] |
|
|
|
var barchartData = [] |
|
|
|
if (IDsGather.includes(indexNode)) { |
|
|
|
if (IDsGather.includes(indexNode)) { |
|
|
|
data.push({value: VIFVarFormatted[indexNode], color: 'black'}) |
|
|
|
data.push({value: VIFVarFormatted[indexNode], color: '#707070'}) |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
data.push({value: VIFVarFormatted[indexNode], color: '#D3D3D3'}) |
|
|
|
data.push({value: VIFVarFormatted[indexNode], color: '#D3D3D3'}) |
|
|
|
} |
|
|
|
} |
|
|
@ -930,7 +935,7 @@ export default { |
|
|
|
insideRadius = 1 |
|
|
|
insideRadius = 1 |
|
|
|
return 'none' |
|
|
|
return 'none' |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}) |
|
|
|
var margin = {top: 0, right: 0, bottom: 0, left: 0}, |
|
|
|
var margin = {top: 0, right: 0, bottom: 0, left: 0}, |
|
|
|
width = 45 - margin.left - margin.right, |
|
|
|
width = 45 - margin.left - margin.right, |
|
|
|
height = 45 - margin.top - margin.bottom; |
|
|
|
height = 45 - margin.top - margin.bottom; |
|
|
@ -938,7 +943,7 @@ export default { |
|
|
|
var el = d3.select(this); |
|
|
|
var el = d3.select(this); |
|
|
|
var path = el.selectAll('path').each(function (r, i) { |
|
|
|
var path = el.selectAll('path').each(function (r, i) { |
|
|
|
if (i === 1) { |
|
|
|
if (i === 1) { |
|
|
|
|
|
|
|
|
|
|
|
gText.append('svg') |
|
|
|
gText.append('svg') |
|
|
|
.attr("width", width + margin.left + margin.right) |
|
|
|
.attr("width", width + margin.left + margin.right) |
|
|
|
.attr("height", height + margin.top + margin.bottom) |
|
|
|
.attr("height", height + margin.top + margin.bottom) |
|
|
@ -970,21 +975,41 @@ export default { |
|
|
|
.attr("width", function(d) { return x(d.value); }) |
|
|
|
.attr("width", function(d) { return x(d.value); }) |
|
|
|
.attr("height", y.bandwidth() ) |
|
|
|
.attr("height", y.bandwidth() ) |
|
|
|
.attr("fill", function(d) { return d.color}) |
|
|
|
.attr("fill", function(d) { return d.color}) |
|
|
|
|
|
|
|
.attr('opacity', "0.5") |
|
|
|
.on("mouseover", function(d) { |
|
|
|
.on("mouseover", function(d) { |
|
|
|
document.getElementsByClassName("bar"+d.class).forEach (function (element) { |
|
|
|
document.getElementsByClassName("bar"+d.class).forEach (function (element) { |
|
|
|
element.setAttribute("fill", "yellow") |
|
|
|
element.setAttribute("opacity", "1.0") |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
document.getElementsByClassName("label"+d.class).forEach (function (element) { |
|
|
|
|
|
|
|
element.setAttribute("visibility", "visible") |
|
|
|
}) |
|
|
|
}) |
|
|
|
d3.select(this) |
|
|
|
|
|
|
|
.attr("fill", "yellow"); |
|
|
|
|
|
|
|
}) |
|
|
|
}) |
|
|
|
.on("mouseout", function(d, i) { |
|
|
|
.on("mouseout", function(d, i) { |
|
|
|
|
|
|
|
|
|
|
|
var colorPrevious = d.color |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
document.getElementsByClassName("bar"+d.class).forEach (function (element) { |
|
|
|
document.getElementsByClassName("bar"+d.class).forEach (function (element) { |
|
|
|
element.setAttribute("fill", colorPrevious) |
|
|
|
element.setAttribute("opacity", "0.5") |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
document.getElementsByClassName("label"+d.class).forEach (function (element) { |
|
|
|
|
|
|
|
element.setAttribute("visibility", "hidden") |
|
|
|
}) |
|
|
|
}) |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gText.selectAll("myRect") |
|
|
|
|
|
|
|
.data(barchartData) |
|
|
|
|
|
|
|
.enter().append("text") |
|
|
|
|
|
|
|
.attr("class", function(d){ return "label"+d.class}) |
|
|
|
|
|
|
|
//y position of the label is halfway down the bar |
|
|
|
|
|
|
|
.attr("y", function (d) { |
|
|
|
|
|
|
|
return y(d.class)+ 11; |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
//x position is 3 pixels to the right of the bar |
|
|
|
|
|
|
|
.attr("x", function (d) { |
|
|
|
|
|
|
|
return x(0); |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
.text(function (d) { |
|
|
|
|
|
|
|
return d.value; |
|
|
|
|
|
|
|
}).style("font-size", "10px") |
|
|
|
|
|
|
|
.style("fill", "white") |
|
|
|
|
|
|
|
.attr("visibility", "hidden") |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// if (i == 0) { |
|
|
|
// if (i == 0) { |
|
|
@ -1031,28 +1056,30 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// var drag_handler = d3.drag() |
|
|
|
// var drag_handler = d3.drag() |
|
|
|
// .on("start", drag_start) |
|
|
|
// .on("start", drag_start) |
|
|
|
// .on("drag", drag_drag) |
|
|
|
// .on("drag", drag_drag) |
|
|
|
// .on("end", drag_end); |
|
|
|
// .on("end", drag_end); |
|
|
|
|
|
|
|
|
|
|
|
// drag_handler(node); |
|
|
|
// drag_handler(node); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
var labels = node.append("text") |
|
|
|
var labels = node.append("text") |
|
|
|
.text(function(d) { |
|
|
|
.text(function(d) { |
|
|
|
return d.name; |
|
|
|
return d.name; |
|
|
|
}) |
|
|
|
}) |
|
|
|
.attr('x', 39) |
|
|
|
.attr('x', 39) |
|
|
|
.attr('y', function(d) { |
|
|
|
.attr('y', function(d) { |
|
|
|
if(d.active) |
|
|
|
if(d.active) |
|
|
|
return 8 |
|
|
|
return 8 |
|
|
|
else |
|
|
|
else |
|
|
|
return 35 |
|
|
|
return 35 |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
node.append('title').text(function (d, i) { |
|
|
|
|
|
|
|
return 'Target COR: '+String(corrGlobFormatted[i])+'%'; |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
node.append('title').text(function (d) { return d.name; }); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//add zoom capabilities |
|
|
|
//add zoom capabilities |
|
|
|
var zoom_handler = d3.zoom() |
|
|
|
var zoom_handler = d3.zoom() |
|
|
@ -1224,6 +1251,7 @@ export default { |
|
|
|
.attr("width", function(d) { return x(d.value); }) |
|
|
|
.attr("width", function(d) { return x(d.value); }) |
|
|
|
.attr("height", y.bandwidth() ) |
|
|
|
.attr("height", y.bandwidth() ) |
|
|
|
.attr("fill", function(d) { return d.color}) |
|
|
|
.attr("fill", function(d) { return d.color}) |
|
|
|
|
|
|
|
.attr("opacity", "0.5") |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
}); |
|
|
|
}); |
|
|
@ -1231,17 +1259,73 @@ export default { |
|
|
|
var textLine = d3.select('#legendText').append("svg").attr('width', 170).attr('height', 90) |
|
|
|
var textLine = d3.select('#legendText').append("svg").attr('width', 170).attr('height', 90) |
|
|
|
|
|
|
|
|
|
|
|
var marginBorder = 16 |
|
|
|
var marginBorder = 16 |
|
|
|
var marginBorderX = 10 |
|
|
|
var marginBorderX = 5 |
|
|
|
textLine.append('line') |
|
|
|
|
|
|
|
|
|
|
|
const markerBoxWidth = 2; |
|
|
|
|
|
|
|
const markerBoxHeight = 2; |
|
|
|
|
|
|
|
const refX = markerBoxWidth / 2; |
|
|
|
|
|
|
|
const refY = markerBoxHeight / 2; |
|
|
|
|
|
|
|
const arrowPoints = [[0, 0], [0, 2], [2, 1]]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
textLine.append("svg:defs").append("svg:marker") |
|
|
|
|
|
|
|
.attr("id", "triangle") |
|
|
|
|
|
|
|
.attr("refX", refX) |
|
|
|
|
|
|
|
.attr("refY", refY) |
|
|
|
|
|
|
|
.attr("markerWidth", markerBoxWidth) |
|
|
|
|
|
|
|
.attr("markerHeight", markerBoxHeight) |
|
|
|
|
|
|
|
.attr("orient", "auto") |
|
|
|
|
|
|
|
.append("path") |
|
|
|
|
|
|
|
.attr('d', d3.line()(arrowPoints)) |
|
|
|
|
|
|
|
.style("fill", "black"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
textLine.append("svg:defs").append("svg:marker") |
|
|
|
|
|
|
|
.attr("id", "triangle2") |
|
|
|
|
|
|
|
.attr("refX", refX) |
|
|
|
|
|
|
|
.attr("refY", refY) |
|
|
|
|
|
|
|
.attr("markerWidth", markerBoxWidth) |
|
|
|
|
|
|
|
.attr("markerHeight", markerBoxHeight) |
|
|
|
|
|
|
|
.attr("orient", "auto") |
|
|
|
|
|
|
|
.append("path") |
|
|
|
|
|
|
|
.attr('d', d3.line()(arrowPoints)) |
|
|
|
|
|
|
|
.style("fill", "black"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
textLine.append("svg:defs").append("svg:marker") |
|
|
|
|
|
|
|
.attr("id", "triangle3") |
|
|
|
|
|
|
|
.attr("refX", refX) |
|
|
|
|
|
|
|
.attr("refY", refY) |
|
|
|
|
|
|
|
.attr("markerWidth", markerBoxWidth) |
|
|
|
|
|
|
|
.attr("markerHeight", markerBoxHeight) |
|
|
|
|
|
|
|
.attr("orient", "auto") |
|
|
|
|
|
|
|
.append("path") |
|
|
|
|
|
|
|
.attr('d', d3.line()(arrowPoints)) |
|
|
|
|
|
|
|
.style("fill", "black"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
textLine.append("svg:defs").append("svg:marker") |
|
|
|
|
|
|
|
.attr("id", "triangle4") |
|
|
|
|
|
|
|
.attr("refX", refX) |
|
|
|
|
|
|
|
.attr("refY", refY) |
|
|
|
|
|
|
|
.attr("markerWidth", markerBoxWidth) |
|
|
|
|
|
|
|
.attr("markerHeight", markerBoxHeight) |
|
|
|
|
|
|
|
.attr("orient", "auto-start-reverse") |
|
|
|
|
|
|
|
.append("path") |
|
|
|
|
|
|
|
.attr('d', d3.line()(arrowPoints)) |
|
|
|
|
|
|
|
.style("fill", "#6baed6"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//line |
|
|
|
|
|
|
|
textLine.append("line") |
|
|
|
.style("stroke", "black") |
|
|
|
.style("stroke", "black") |
|
|
|
.style("stroke-width", 3) |
|
|
|
.style("stroke-width", 3) |
|
|
|
.attr("x1", 36 + marginBorderX) |
|
|
|
.attr("x1", 36 + marginBorderX) |
|
|
|
.attr("y1", 50 - marginBorder) |
|
|
|
.attr("y1", 50 - marginBorder) |
|
|
|
.attr("x2", 74 + marginBorderX) |
|
|
|
.attr("x2", 74 + marginBorderX) |
|
|
|
.attr("y2", 50 - marginBorder) |
|
|
|
.attr("y2", 50 - marginBorder) |
|
|
|
|
|
|
|
.attr("marker-end", "url(#triangle)"); |
|
|
|
|
|
|
|
|
|
|
|
textLine.append("text") |
|
|
|
textLine.append("text") |
|
|
|
.attr("dx", 75 + marginBorderX) |
|
|
|
.attr("dx", 77 + marginBorderX) |
|
|
|
.attr("dy", 55 - marginBorder) |
|
|
|
.attr("dy", 55 - marginBorder) |
|
|
|
.text("VIF") |
|
|
|
.text("VIF") |
|
|
|
|
|
|
|
|
|
|
@ -1252,9 +1336,10 @@ export default { |
|
|
|
.attr("y1", 31 - marginBorder) |
|
|
|
.attr("y1", 31 - marginBorder) |
|
|
|
.attr("x2", 53 + marginBorderX) |
|
|
|
.attr("x2", 53 + marginBorderX) |
|
|
|
.attr("y2", 31 - marginBorder) |
|
|
|
.attr("y2", 31 - marginBorder) |
|
|
|
|
|
|
|
.attr("marker-end", "url(#triangle2)"); |
|
|
|
|
|
|
|
|
|
|
|
textLine.append("text") |
|
|
|
textLine.append("text") |
|
|
|
.attr("dx", 54 + marginBorderX) |
|
|
|
.attr("dx", 56 + marginBorderX) |
|
|
|
.attr("dy", 36 - marginBorder) |
|
|
|
.attr("dy", 36 - marginBorder) |
|
|
|
.text("Per class COR") |
|
|
|
.text("Per class COR") |
|
|
|
|
|
|
|
|
|
|
@ -1265,9 +1350,10 @@ export default { |
|
|
|
.attr("y1", 67 - marginBorder) |
|
|
|
.attr("y1", 67 - marginBorder) |
|
|
|
.attr("x2", 74 + marginBorderX) |
|
|
|
.attr("x2", 74 + marginBorderX) |
|
|
|
.attr("y2", 67 - marginBorder) |
|
|
|
.attr("y2", 67 - marginBorder) |
|
|
|
|
|
|
|
.attr("marker-end", "url(#triangle3)"); |
|
|
|
|
|
|
|
|
|
|
|
textLine.append("text") |
|
|
|
textLine.append("text") |
|
|
|
.attr("dx", 75 + marginBorderX) |
|
|
|
.attr("dx", 77 + marginBorderX) |
|
|
|
.attr("dy", 72 - marginBorder) |
|
|
|
.attr("dy", 72 - marginBorder) |
|
|
|
.text("Target COR") |
|
|
|
.text("Target COR") |
|
|
|
|
|
|
|
|
|
|
@ -1278,9 +1364,10 @@ export default { |
|
|
|
.attr("y1", 50 - marginBorder) |
|
|
|
.attr("y1", 50 - marginBorder) |
|
|
|
.attr("x2", 26 + marginBorderX) |
|
|
|
.attr("x2", 26 + marginBorderX) |
|
|
|
.attr("y2", 50 - marginBorder) |
|
|
|
.attr("y2", 50 - marginBorder) |
|
|
|
|
|
|
|
.attr("marker-start", "url(#triangle4)"); |
|
|
|
|
|
|
|
|
|
|
|
textLine.append("text") |
|
|
|
textLine.append("text") |
|
|
|
.attr("dx", 0 + marginBorderX) |
|
|
|
.attr("dx", -2 + marginBorderX) |
|
|
|
.attr("dy", 55 - marginBorder) |
|
|
|
.attr("dy", 55 - marginBorder) |
|
|
|
.style("fill", "#6baed6") |
|
|
|
.style("fill", "#6baed6") |
|
|
|
.text("MI") |
|
|
|
.text("MI") |
|
|
@ -1438,6 +1525,16 @@ export default { |
|
|
|
#legend { position: absolute; top: 0; left: 0; z-index: 1} |
|
|
|
#legend { position: absolute; top: 0; left: 0; z-index: 1} |
|
|
|
#legendText { position: absolute; top: 0; left: 0; z-index: 2} |
|
|
|
#legendText { position: absolute; top: 0; left: 0; z-index: 2} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#floatingPanel { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
transform: translate(-1071px, -33px); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#glyphLegend { |
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
|
|
transform: translate(210px, 6px) !important; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#legend { |
|
|
|
#legend { |
|
|
|
transform: translateY(-47px) scale(0.8) !important |
|
|
|
transform: translateY(-47px) scale(0.8) !important |
|
|
|
} |
|
|
|
} |
|
|
@ -1463,7 +1560,6 @@ svg { |
|
|
|
float: left; |
|
|
|
float: left; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.table { |
|
|
|
.table { |
|
|
|
padding: 0 !important; |
|
|
|
padding: 0 !important; |
|
|
|
margin: 0 !important; |
|
|
|
margin: 0 !important; |
|
|
@ -1495,7 +1591,8 @@ table td { |
|
|
|
|
|
|
|
|
|
|
|
#chartID { |
|
|
|
#chartID { |
|
|
|
position: absolute; |
|
|
|
position: absolute; |
|
|
|
transform: translate(-354px, 840px); |
|
|
|
transform: translate(-351px, 845px); |
|
|
|
|
|
|
|
border: 1px solid black !important; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.chart circle { |
|
|
|
.chart circle { |
|
|
|