我的数据域为[0,100],但它们并不统一,它们向右偏斜,即大多数数据的值介于80和100之间.
我想用这些数据进行可视化,并使用颜色来区分它们(例如:heatmap,map,...).
什么是正确的色标使用?
我尝试了线性刻度,功率刻度和分位数刻度.最好的一个似乎是分位数尺度,但仍然存在问题:
这是我的代码.
function sortNumber(a, b) {
return a - b;
}
var data = [90, 95, 50, 1, 99, 89.1, 87, 94, 95, 99, 99.5, 94.3, 96, 97, 85, 74, 66, 92, 68, 91, 93, 87, 79, 86, 89, 93.5, 97, 98];
data.sort(sortNumber); // [1, 50, 66, 68, 74, 79, 85, 86, 87, 87, 89, 89.1, 90, 91, 92, 93, 93.5, 94, 94.3, 95, 95, 96, 97, 97, 98, 99, 99, …Run Code Online (Sandbox Code Playgroud)我正在尝试从不同的文件组织JS代码.我正在使用D3.js并且我创建了3个可视化对象,用户可以进行交互.例如,如果将鼠标悬停在第一个可视化的元素上,我想相应地更改第二个和第三个.
此过程使用此代码.
index.html:
<body>
<span id='elem1' class='el'></span>
<span id='elem2' class='el'></span>
<span id='elem3' class='el'></span>
<script src='page1.js' rel='script'></script>
<script src='page2.js' rel='script'></script>
<script src='page3.js' rel='script'></script>
</body>
Run Code Online (Sandbox Code Playgroud)
page1.js:
var PAGE1 = (function page1() {
// object to export
var moduleObj = {};
var elem1 = d3.select('#elem1')
.append('svg')
.append('g')
.append('rect')
.attr('id', 'elem1rect')
.attr('width', 50)
.attr('height', 50)
.attr('fill', '#FF5733');
elem1.on('click', function() {
var elemClicked = 'elem1';
console.log('PAGE1 // Click on:', elemClicked);
if(moduleObj.clickElem1ToPage2Handler) {
moduleObj.clickElem1ToPage2Handler(elemClicked);
}
if(moduleObj.clickElem1ToPage3Handler) {
moduleObj.clickElem1ToPage3Handler(elemClicked);
}
});
return moduleObj;
}());
Run Code Online (Sandbox Code Playgroud)
page2.js …
我有一个实现优先级队列的java类.然后我有一个类测试,生成如下图:
digraph G {
Milan (0.0) -> Turin (1.2)
Milan (0.0) -> Montreal (7.0)
Turin (1.2) -> Paris (5.8)
Turin (1.2) -> Tokyo (2.2)
}
Run Code Online (Sandbox Code Playgroud)
该图保存在名为"queue"的文件中.
现在我希望这个图表使用Graphviz显示在PNG图像中.因此,我的测试文件的最后一次调用(在您优先创建并填充队列之后)是:
queue.toString("queue");
Run Code Online (Sandbox Code Playgroud)
行.toString方法如下:
public void toString(String fileDot){
try {
FileOutputStream file = new FileOutputStream(fileDot);
PrintStream Output = new PrintStream(file);
Output.print(this.printQueue());
Output.close();
File f = new File(fileDot);
String arg1 = f.getAbsolutePath();
String arg2 = arg1 + ".png";
String[] c = {"dot", "-Tpng", arg1, "-o", arg2};
Process p = Runtime.getRuntime().exec(c);
int err = p.waitFor();
}
catch(IOException …Run Code Online (Sandbox Code Playgroud) 我必须以这样的方式完成方法maxElem(节点节点),方法maxElem()返回二叉树中包含的最大值.
我怎样才能做到这一点?我不知道如何去做..
public class BinaryTree {
protected class Node {
protected Integer element;
protected Node left;
protected Node right;
Node(int element) {
this.element = element;
left = right = null;
}
Node(int element, Node left, Node right) {
this.element = element;
this.left = left;
this.right = right;
}
} //end Node class
public class NodeReference {
private Node node;
private NodeReference(Node node) {
this.node = node;
}
public int getElement() {
return node.element;
}
public void …Run Code Online (Sandbox Code Playgroud)