/** * Initialize the t-SNE algorithm and start simulation. */ function starttSNE() { springForce = false; simulation.stop(); p1 = performance.now(); simulation .alphaDecay(1 - Math.pow(0.001, 1 / ITERATIONS)) .force(forceName, d3.tSNE() // Set the parameter for the algorithm (optional). .perplexity(PERPLEXITY) .learningRate(LEARNING_RATE) // The distance function that will be used to calculate distances // between nodes. .distance(function (s, t) { return distanceFunction(s, t, props, norm); })); // Restart the simulation. console.log(simulation.force(forceName).perplexity(), simulation.force(forceName).learningRate()); simulation.alpha(1).restart(); } /** * Initialize the Barnes-Hut algorithm and start simulation. */ function startBarnesHutSimulation() { console.log("startBarnesHutSimulation") alreadyRanIterations = 0; manualStop = false; springForce = false; p1 = performance.now(); simulation.alphaDecay(1 - Math.pow(0.001, 1 / ITERATIONS)) .on("tick", ticked) .on("end", ended) .force(forceName, d3.forceBarnesHut() // The distance function that will be used to calculate distances // between nodes. .distance(function(s, t) { return distanceFunction(s, t, props, norm); })); // Restart the simulation. simulation.alpha(1).restart(); }