Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果只给出事件点,如何绘制图形?_Java_Excel_Graph_D3.js_Diagram - Fatal编程技术网

Java 如果只给出事件点,如何绘制图形?

Java 如果只给出事件点,如何绘制图形?,java,excel,graph,d3.js,diagram,Java,Excel,Graph,D3.js,Diagram,我正在尝试绘制节点(机器)的可用性。为了节省对收集的数据的存储,我不是按固定的时间间隔记录数据,而是根据事件(添加、删除)记录数据。添加表示“向上”,删除表示“向下/无法访问” 以下是我的样本数据: 2012-11-25 11:11:11.1234 - node added. 2012-11-25 15:01:20.1234 - node removed. 2012-11-25 18:12:12.1234 - node added. 比如说,我想绘制一个从时间范围:2012-11-24到201

我正在尝试绘制节点(机器)的可用性。为了节省对收集的数据的存储,我不是按固定的时间间隔记录数据,而是根据事件(添加、删除)记录数据。添加表示“向上”,删除表示“向下/无法访问”

以下是我的样本数据:

2012-11-25 11:11:11.1234 - node added.
2012-11-25 15:01:20.1234 - node removed.
2012-11-25 18:12:12.1234 - node added.

比如说,我想绘制一个从时间范围:2012-11-24到2012-11-25(x轴)、上/下(y轴)的图表,如何绘制图表

我想d3工具中有一些例子(我不记得是哪一个)(http://d3js.org)

如果您通读这些示例,您可以选择要使用的可视化类型。
我认为您拥有的数据集将与您尝试执行的操作相匹配(您可能需要编写一个小运算符将向上/向下注释转换为整数)。

如果您将所有数据存储在一个数组中,只需使用JavaScript的内置方法,并使用JavaScript的对象将时间戳转换为毫秒(请注意,它将四舍五入到最接近的千分之一秒-仅小数点后3位)


一种简单的方法是计算“添加节点”(+1)和“删除节点”(-1)的累计和的时间序列事件。然后您可以生成日期/时间与累计总和的散点图。根据数据,这可能足够好。有两个挑战:1.我是否应在2012-11-25 11:11:11之前将数据绘制为节点移除?2.事件发生的时间单位可能不是离散图形单位,例如,x轴的间隔为5分钟单位。
var startTime = Date.parse("2012-11-24"),
    endTime = Date.parse("2012-11-25") + 86400000; /* Add one day */

filteredData = data.filter(function(d) {
    var time = Date.parse(d.time);
    return (time >= startTime && time < endTime);
});
d3.text("getNodes.php?startTime=" + startTime + "&endTime=" + endTime, function(json) {
    filteredData = JSON.parse(json);
});