parent a51d44d123
commit 7521dfba1f
  1. BIN
      __pycache__/run.cpython-38.pyc
  2. 5
      frontend/src/components/DataSpace.vue
  3. 175
      frontend/src/components/FeatureSpaceDetail.vue
  4. 315
      frontend/src/components/FeatureSpaceOverview.vue
  5. 4
      frontend/src/components/Results.vue

Binary file not shown.

@ -42,10 +42,8 @@ export default {
var instances = new Array(len);
for (var i = 0; i < len; ++i) instances[i] = i
instances.sort(function (a, b) { return predictions[a] < predictions[b] ? -1 : predictions[a] > predictions[b] ? 1 : 0; })
console.log(instances)
predictions.sort()
console.log(predictions)
var colorInstances = []
for (let i = 0; i < predictions.length; i++) {
@ -113,7 +111,8 @@ export default {
var followMe = chart.append("line")
.attr("x1", 0).attr("x2", 0)
.attr("y1", 0).attr("y2", 400)
.style("stroke", "red")
.style("stroke", "yellow")
.style("stroke-width", '3px')
function zoom() {
chart.select(".xAxis").call(axis);

@ -18,7 +18,7 @@ export default {
return {
dataFS: [],
dataFSTrans: [],
quadrantNumber: 5,
quadrantNumber: 4,
jsonData: [],
corrMatrixComb: [],
corrMatrixCombTotal: [],
@ -28,11 +28,127 @@ export default {
}
},
methods: {
computeOnce () {
var listofNodes = this.dataFS[0]
var dataLocOnce = []
for (let loop=1; loop<=5; loop++) {
dataLocOnce.push(JSON.parse(this.dataFS[loop+2]))
}
var pushEach
var oldVal
var newVal
var outcome
var countLoc
var pushEachFinalFinal = []
for (let loop=1; loop<=5; loop++) {
var corrMatrixCombLoc =[]
var corrMatrixCombTotalLoc = []
var VIFRemainingLoc = []
var MIRemainingLoc = []
var pushEachFinal = []
this.dataFSTrans.forEach(function(element, index) {
var round = element.round
round = JSON.parse(round[loop-1])
oldVal = 0
newVal = 0
outcome = 0
countLoc = 0
pushEach = []
Object.entries(round).forEach(
function ([feature, value]) {
var key = Object.keys(value)
var retrieveData = dataLocOnce[loop-1]
var search = Object.values(retrieveData[key])
oldVal = Math.abs(search[countLoc]) + oldVal
newVal = Math.abs(Object.values(value)[0]) + newVal
countLoc++
})
oldVal = oldVal / listofNodes.length
newVal = newVal / listofNodes.length
outcome = oldVal - newVal
pushEach.push({keyIns: "round", valueIns: outcome})
var roundLogE = element.roundLogE
roundLogE = JSON.parse(roundLogE[loop-1])
oldVal = 0
newVal = 0
outcome = 0
countLoc = 0
Object.entries(roundLogE).forEach(
function ([feature, value]) {
var key = Object.keys(value)
var retrieveData = dataLocOnce[loop-1]
var search = Object.values(retrieveData[key])
oldVal = Math.abs(search[countLoc]) + oldVal
newVal = Math.abs(Object.values(value)[0]) + newVal
countLoc++
})
oldVal = oldVal / listofNodes.length
newVal = newVal / listofNodes.length
outcome = oldVal - newVal
pushEach.push({keyIns: "roundLogE", valueIns: outcome})
var roundLog2 = element.roundLog2
roundLog2 = JSON.parse(roundLog2[loop-1])
oldVal = 0
newVal = 0
outcome = 0
countLoc = 0
Object.entries(roundLog2).forEach(
function ([feature, value]) {
var key = Object.keys(value)
var retrieveData = dataLocOnce[loop-1]
var search = Object.values(retrieveData[key])
oldVal = Math.abs(search[countLoc]) + oldVal
newVal = Math.abs(Object.values(value)[0]) + newVal
countLoc++
})
oldVal = oldVal / listofNodes.length
newVal = newVal / listofNodes.length
outcome = oldVal - newVal
pushEach.push({keyIns: "roundLog2", valueIns: outcome})
var roundLog10 = element.roundLog10
roundLog10 = JSON.parse(roundLog10[loop-1])
oldVal = 0
newVal = 0
outcome = 0
countLoc = 0
Object.entries(roundLog10).forEach(
function ([feature, value]) {
var key = Object.keys(value)
var retrieveData = dataLocOnce[loop-1]
var search = Object.values(retrieveData[key])
oldVal = Math.abs(search[countLoc]) + oldVal
newVal = Math.abs(Object.values(value)[0]) + newVal
countLoc++
})
oldVal = oldVal / listofNodes.length
newVal = newVal / listofNodes.length
outcome = oldVal - newVal
pushEach.push({keyIns: "roundLog10", valueIns: outcome})
pushEachFinal.push({key: listofNodes[index], value: pushEach})
})
pushEachFinalFinal.push(pushEachFinal)
}
EventBus.$emit('overviewCall', pushEachFinalFinal)
},
initializeNetwork () {
this.corrMatrixComb = []
this.corrMatrixCombTotal = []
this.VIFRemaining = []
this.MIRemaining = []
var quadrantNumberLocal = this.quadrantNumber
var listofNodes = this.dataFS[0]
var dataLoc = JSON.parse(this.dataFS[quadrantNumberLocal+2])
var dataLoc = JSON.parse(this.dataFS[3+quadrantNumberLocal])
var pushEachFinal = []
var pushEach
var oldVal
@ -47,11 +163,11 @@ export default {
this.dataFSTrans.forEach(function(element, index) {
var round = element.round
corrMatrixCombLoc.push(Object.values(JSON.parse(round[quadrantNumberLocal*2-1])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(round[quadrantNumberLocal*3-1]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(round[quadrantNumberLocal*4-1]))[0])
MIRemainingLoc.push(JSON.parse(round[quadrantNumberLocal*5-1]))
round = JSON.parse(round[quadrantNumberLocal-1])
corrMatrixCombLoc.push(Object.values(JSON.parse(round[5+quadrantNumberLocal])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(round[10+quadrantNumberLocal]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(round[15+quadrantNumberLocal]))[0])
MIRemainingLoc.push(JSON.parse(round[20+quadrantNumberLocal]))
round = JSON.parse(round[quadrantNumberLocal])
oldVal = 0
newVal = 0
outcome = 0
@ -71,11 +187,11 @@ export default {
pushEach.push({keyIns: "round", valueIns: outcome})
var roundLogE = element.roundLogE
corrMatrixCombLoc.push(Object.values(JSON.parse(roundLogE[quadrantNumberLocal*2-1])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(roundLogE[quadrantNumberLocal*3-1]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(roundLogE[quadrantNumberLocal*4-1]))[0])
MIRemainingLoc.push(JSON.parse(roundLogE[quadrantNumberLocal*5-1]))
roundLogE = JSON.parse(roundLogE[quadrantNumberLocal-1])
corrMatrixCombLoc.push(Object.values(JSON.parse(roundLogE[5+quadrantNumberLocal])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(roundLogE[10+quadrantNumberLocal]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(roundLogE[15+quadrantNumberLocal]))[0])
MIRemainingLoc.push(JSON.parse(roundLogE[20+quadrantNumberLocal]))
roundLogE = JSON.parse(roundLogE[quadrantNumberLocal])
oldVal = 0
newVal = 0
outcome = 0
@ -94,11 +210,11 @@ export default {
pushEach.push({keyIns: "roundLogE", valueIns: outcome})
var roundLog2 = element.roundLog2
corrMatrixCombLoc.push(Object.values(JSON.parse(roundLog2[quadrantNumberLocal*2-1])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(roundLog2[quadrantNumberLocal*3-1]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(roundLog2[quadrantNumberLocal*4-1]))[0])
MIRemainingLoc.push(JSON.parse(roundLog2[quadrantNumberLocal*5-1]))
roundLog2 = JSON.parse(roundLog2[quadrantNumberLocal-1])
corrMatrixCombLoc.push(Object.values(JSON.parse(roundLog2[5+quadrantNumberLocal])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(roundLog2[10+quadrantNumberLocal]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(roundLog2[15+quadrantNumberLocal]))[0])
MIRemainingLoc.push(JSON.parse(roundLog2[20+quadrantNumberLocal]))
roundLog2 = JSON.parse(roundLog2[quadrantNumberLocal])
oldVal = 0
newVal = 0
outcome = 0
@ -117,11 +233,11 @@ export default {
pushEach.push({keyIns: "roundLog2", valueIns: outcome})
var roundLog10 = element.roundLog10
corrMatrixCombLoc.push(Object.values(JSON.parse(roundLog10[quadrantNumberLocal*2-1])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(roundLog10[quadrantNumberLocal*3-1]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(roundLog10[quadrantNumberLocal*4-1]))[0])
MIRemainingLoc.push(JSON.parse(roundLog10[quadrantNumberLocal*5-1]))
roundLog10 = JSON.parse(roundLog10[quadrantNumberLocal-1])
corrMatrixCombLoc.push(Object.values(JSON.parse(roundLog10[5+quadrantNumberLocal])))
corrMatrixCombTotalLoc.push(Object.values(JSON.parse(roundLog10[10+quadrantNumberLocal]))[0] * 100)
VIFRemainingLoc.push(Object.values(JSON.parse(roundLog10[15+quadrantNumberLocal]))[0])
MIRemainingLoc.push(JSON.parse(roundLog10[20+quadrantNumberLocal]))
roundLog10 = JSON.parse(roundLog10[quadrantNumberLocal])
oldVal = 0
newVal = 0
outcome = 0
@ -198,11 +314,12 @@ export default {
var computeNodesVar = this.computeNodes
var listofNodes = this.dataFS[0]
var corrTarget = JSON.parse(this.dataFS[this.quadrantNumber*2+2])
var corrGlob = JSON.parse(this.dataFS[this.quadrantNumber*3+2])
var uniqueTarget = JSON.parse(this.dataFS[this.quadrantNumber*4+2])
var VIFVar = JSON.parse(this.dataFS[this.quadrantNumber*5+2])
var MIVar = JSON.parse(this.dataFS[this.quadrantNumber*6+2])
console.log(this.dataFS)
var corrTarget = JSON.parse(this.dataFS[8+this.quadrantNumber])
var corrGlob = JSON.parse(this.dataFS[13+this.quadrantNumber])
var uniqueTarget = JSON.parse(this.dataFS[18+this.quadrantNumber])
var VIFVar = JSON.parse(this.dataFS[23+this.quadrantNumber])
var MIVar = JSON.parse(this.dataFS[28+this.quadrantNumber])
MIVar = MIVar.concat(this.MIRemaining)
var colorCateg = d3.scaleOrdinal(d3.schemeAccent)
@ -659,8 +776,12 @@ export default {
},
},
mounted () {
EventBus.$on('updateSlice', data => { this.quadrantNumber = data })
EventBus.$on('updateSlice', this.initializeNetwork)
EventBus.$on('quadTrans', data => { this.dataFSTrans = data })
EventBus.$on('quad', data => { this.dataFS = data })
EventBus.$on('quad', this.computeOnce)
EventBus.$on('quad', this.initializeNetwork)
EventBus.$on('countNodes1', data => { this.computeNodes = data })

@ -1,41 +1,41 @@
<template>
<div>
<div id="tree-container"></div>
<div id="tree-container" style="min-height: 500px"></div>
<div id="toolbar">
<div class="tool">
<div class="tlabel">Zoom</div>
<div class="tbuttons">
<div class="button" data-key="187" title="Zoom In (+ OR scrollwheel)">+</div>
<div class="button" data-key="189" title="Zoom Out (&minus; OR scrollwheel)">&minus;</div>
<div class="button" data-key="187" title="Zoom In">+</div>
<div class="button" data-key="189" title="Zoom Out">&minus;</div>
</div>
</div>
<div class="tool">
<div class="tlabel">Rotate</div>
<div class="tbuttons">
<div class="button" data-key="33" title="Rotate CCW (Page Up OR &#8679;scrollwheel)" style="font-size:0.9em">&#8634;</div>
<div class="button" data-key="34" title="Rotate CW (Page Down OR &#8679;scrollwheel)" style="font-size:0.9em">&#8635;</div>
<div class="button" data-key="33" title="Rotate CCW" style="font-size:0.9em">&#8634;</div>
<div class="button" data-key="34" title="Rotate CW" style="font-size:0.9em">&#8635;</div>
</div>
</div>
<div class="tool">
<div class="tlabel">Select</div>
<div class="tbuttons">
<div class="button" data-key="-38" title="Select Previous (&#8679;&uarr;)" style="font-size:0.9em">&#8613;</div>
<div class="button" data-key="-40" title="Select Next (&#8679;&darr;)" style="font-size:0.9em">&#8615;</div>
<div class="button" data-key="-38" title="Select Previous" style="font-size:0.9em">&#8613;</div>
<div class="button" data-key="-40" title="Select Next" style="font-size:0.9em">&#8615;</div>
</div>
</div>
<div class="tool">
<div class="tlabel">View</div>
<div class="tbuttons">
<div class="button" data-key="36" title="Center Root (Home)">&#8962;</div>
<div class="button" data-key="35" title="Center Selected (End)" style="font-size:0.8em">&#9673;</div>
<div class="button" data-key="36" title="Center Root">&#8962;</div>
<div class="button" data-key="35" title="Center Selected" style="font-size:0.8em">&#9673;</div>
</div>
</div>
<div class="tool">
<div class="tlabel">Toggle</div>
<div class="tbuttons">
<div class="button" data-key="32" title="Toggle Node (Space OR double-click)">1</div>
<div class="button" data-key="13" title="Toggle Level (Return OR &#8679;double-click)">&oplus;</div>
<div class="button" data-key="191" title="Toggle Root (/)">/</div>
<div class="button" data-key="32" title="Toggle Node">1</div>
<div class="button" data-key="13" title="Toggle Level">&oplus;</div>
<div class="button" data-key="191" title="Toggle Root">/</div>
</div>
</div>
<div class="tool">
@ -64,154 +64,110 @@ export default {
name: 'FeatureSpaceOverview',
data () {
return {
dataFS1: [],
dataFS1Trans: [],
jsonData: [],
corrMatrixComb: [],
corrMatrixCombTotal: [],
VIFRemaining: [],
MIRemaining: [],
computeNodes: 0
colorsReceive: [],
}
},
methods: {
initializeRadialTree() {
},
reset () {
var svg = d3.select("#FeatureTree");
svg.selectAll("*").remove();
},
// Get JSON data
radialTree() {
initializeRadialTree() {
var features = this.colorsReceive
var featuresQuad1 = []
var featuresQuad2 = []
var featuresQuad3 = []
var featuresQuad4 = []
var featuresQuad5 = []
for (let i = 0; i < features[4].length; i++) {
featuresQuad1.push({"name": features[0][i].key,
"children": [
{"name": "Round", "lin_color": features[0][i].value[0].valueIns},
{"name": "Round logE", "lin_color": features[0][i].value[1].valueIns},
{"name": "Round log2", "lin_color": features[0][i].value[2].valueIns},
{"name": "Round log10", "lin_color": features[0][i].value[3].valueIns},
],
"lin_color": features[0][i].value[0].valueIns+features[0][i].value[1].valueIns+features[0][i].value[3].valueIns+features[0][i].value[3].valueIns
})
featuresQuad2.push({"name": features[1][i].key,
"children": [
{"name": "Round", "lin_color": features[1][i].value[0].valueIns},
{"name": "Round logE", "lin_color": features[1][i].value[1].valueIns},
{"name": "Round log2", "lin_color": features[1][i].value[2].valueIns},
{"name": "Round log10", "lin_color": features[1][i].value[3].valueIns},
],
"lin_color": features[1][i].value[0].valueIns+features[1][i].value[1].valueIns+features[1][i].value[3].valueIns+features[1][i].value[3].valueIns
})
featuresQuad3.push({"name": features[2][i].key,
"children": [
{"name": "Round", "lin_color": features[2][i].value[0].valueIns},
{"name": "Round logE", "lin_color": features[2][i].value[1].valueIns},
{"name": "Round log2", "lin_color": features[2][i].value[2].valueIns},
{"name": "Round log10", "lin_color": features[2][i].value[3].valueIns},
],
"lin_color": features[2][i].value[0].valueIns+features[2][i].value[1].valueIns+features[2][i].value[3].valueIns+features[2][i].value[3].valueIns
})
featuresQuad4.push({"name": features[3][i].key,
"children": [
{"name": "Round", "lin_color": features[3][i].value[0].valueIns},
{"name": "Round logE", "lin_color": features[3][i].value[1].valueIns},
{"name": "Round log2", "lin_color": features[3][i].value[2].valueIns},
{"name": "Round log10", "lin_color": features[3][i].value[3].valueIns},
],
"lin_color": features[3][i].value[0].valueIns+features[3][i].value[1].valueIns+features[3][i].value[3].valueIns+features[3][i].value[3].valueIns
})
featuresQuad5.push({"name": features[4][i].key,
"children": [
{"name": "Round", "lin_color": features[4][i].value[0].valueIns},
{"name": "Round logE", "lin_color": features[4][i].value[1].valueIns},
{"name": "Round log2", "lin_color": features[4][i].value[2].valueIns},
{"name": "Round log10", "lin_color": features[4][i].value[3].valueIns},
],
"lin_color": features[4][i].value[0].valueIns+features[4][i].value[1].valueIns+features[4][i].value[3].valueIns+features[4][i].value[3].valueIns
})
}
var spaceSlice1=0
var spaceSlice2 = 0
var spaceSlice3 = 0
var spaceSlice4 = 0
var spaceSlice5 = 0
for (let i = 0; i < featuresQuad5.length; i++) {
spaceSlice4 = spaceSlice4 + featuresQuad4[i].lin_color
spaceSlice5 = spaceSlice5 + featuresQuad5[i].lin_color
spaceSlice1 = spaceSlice1 + featuresQuad1[i].lin_color
spaceSlice2 = spaceSlice2 + featuresQuad2[i].lin_color
spaceSlice3 = spaceSlice3 + featuresQuad3[i].lin_color
}
var treeData = {
"name": "All predictions",
"name": "Data",
"children": [
{"name": "Worst predictions",
"children": [
{"name": "Feature 1",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 2",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 3",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 4",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
]},
{"name": "Best predictions",
"children": [
{"name": "Feature 1",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 2",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 3",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 4",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
]},
{"name": "Good predictions",
"children": [
{"name": "Feature 1",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 2",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 3",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 4",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
]},
{"name": "Bad predictions",
"children": [
{"name": "Feature 1",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 2",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 3",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
{"name": "Feature 4",
"children": [
{"name": "Round"},
{"name": "Round logE"},
{"name": "Round log2"},
{"name": "Round log10"},
]},
]},
{"name": "Worst",
"children": featuresQuad4,
"lin_color": spaceSlice4
},
{"name": "All",
"children": featuresQuad5,
"lin_color": spaceSlice5
},
{"name": "Best",
"children": featuresQuad1,
"lin_color": spaceSlice1
},
{"name": "Good",
"children": featuresQuad2,
"lin_color": spaceSlice2
},
{"name": "Bad",
"children": featuresQuad3,
"lin_color": spaceSlice3
},
]
}
@ -222,7 +178,7 @@ export default {
var MIN_ZOOM = 0.5; // minimum zoom allowed
var MAX_ZOOM = 10; // maximum zoom allowed
var HAS_CHILDREN_COLOR = 'lightsteelblue';
var SELECTED_COLOR = '#a00'; // color of selected node
var SELECTED_COLOR = 'yellow'; // color of selected node
var ZOOM_INC = 0.04; // zoom factor per animation frame
var PAN_INC = 3; // pan per animation frame
var ROT_INC = 0.3; // rotation per animation frame
@ -295,7 +251,7 @@ export default {
var root = treeData;
root.x0 = curY;
root.y0 = 0;
selectNode(root); // current selected node
selectNode(treeData.children[1]); // current selected node
// Collapse all children of root's children before rendering
// if (root.children) {
@ -335,9 +291,13 @@ export default {
var nodeEnter = node.enter().insert('g', ':first-child')
.attr('class', 'node')
.attr('transform', 'rotate(' + (source.x0 - 90) + ')translate(' + source.y0 + ')')
.on('click', click).on('dblclick', dblclick).on('contextmenu', showContextMenu);
.on('click', click)
.on('dblclick', dblclick)
.on('contextmenu', showContextMenu);
// .on('mousedown', suppress);
//d3.select('#some-id').dispatch('click');
nodeEnter.append('circle')
.attr('r', 1e-6)
.style('fill', function(d) {
@ -363,11 +323,25 @@ export default {
node.select('circle')
.attr('r', NODE_DIAMETER * reduceZ())
.style('fill', function(d) {
return d._children ? HAS_CHILDREN_COLOR : 'white';
if(d.name == 'Data') {
return d._children ? 'white' : 'white';
} else {
return d._children ? HAS_CHILDREN_COLOR : '#D3D3D3';
}
}).attr('stroke', function(d) {
return d.selected ? SELECTED_COLOR : 'steelblue';
if(d.name == 'Data') {
return d.selected ? SELECTED_COLOR : 'white';
} else {
return d.selected ? SELECTED_COLOR : 'black';
}
}).attr('stroke-width', function(d) {
return d.selected ? 3 : 1.5;
if(d.name == 'Data') {
return d.selected ? 0 : 0;
} else if (d.name == 'All' || d.name == 'Best' || d.name == 'Good' || d.name == 'Bad' || d.name == 'Worst'){
return d.selected ? 2 : 2;
} else {
return d.selected ? 0 : 0;
}
});
node.select('text')
@ -379,7 +353,7 @@ export default {
'rotate(180)translate(-8)scale('
) + reduceZ() +')';
}).attr('fill', function(d) {
return d.selected ? SELECTED_COLOR : 'black';
return d.selected ? 'black' : 'black';
}).attr('dy', '.35em');
var nodeUpdate = node.transition().duration(duration)
@ -428,7 +402,15 @@ export default {
source: o,
target: o
});
});
}).style("stroke", function(d){
if (d.target.lin_color > 0) {
return '#33a02c'
} else if (d.target.lin_color < 0) {
return '#e31a1c'
} else {
return '#D3D3D3'
}
})
// Transition links to their new position
link.transition().duration(duration)
@ -596,6 +578,19 @@ export default {
d3.event.preventDefault();
selectNode(d);
update(d);
var sendSliceID = 4
if (d.name == "Best") {
sendSliceID = 0
} else if (d.name == "Good") {
sendSliceID = 1
} else if (d.name == "Bad") {
sendSliceID = 2
} else if (d.name == "Worst") {
sendSliceID = 3
} else {
sendSliceID = 4
}
EventBus.$emit('updateSlice', sendSliceID)
}
function dblclick(d) { // Toggle children of node
@ -900,7 +895,8 @@ export default {
}
},
mounted () {
this.radialTree()
EventBus.$on('overviewCall', data => { this.colorsReceive = data })
EventBus.$on('overviewCall', this.initializeRadialTree)
EventBus.$on('reset', this.reset)
}
}
@ -1041,8 +1037,7 @@ svg {
}
.link {
fill: none;
stroke: #ccc;
stroke-width: 1.5px;
stroke: #D3D3D3;
}
</style>

@ -25,7 +25,7 @@ export default {
x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1],
y: [12, 22, 32, 45, 56, 67, 77, 89, 98, 100, 99, 88, 78, 66, 55, 44, 33, 23, 18, 8],
fill: "tozerox",
fillcolor: "rgba(0,100,80,0.2)",
fillcolor: "rgba(160,82,45,0.2)",
line: {color: "transparent"},
name: "Accuracy",
showlegend: false,
@ -54,7 +54,7 @@ export default {
var trace4 = {
x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
y: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
line: {color: "rgb(0,100,80)"},
line: {color: "rgb(160,82,45)"},
mode: "lines",
name: "Accuracy",
type: "scatter"

Loading…
Cancel
Save