在Java图形或图表库上有一个早期的线程,其中发现JFreeChart非常好,但是,如其FAQ中所述,它不适用于实时渲染.
任何人都可以推荐一个支持实时渲染的类似库吗?只是一些基本的xy渲染 - 例如,从数据采集系统获取电压信号并在其到来时绘制它(x轴上的时间,y轴上的电压).
我正在尝试使用Graphviz(符合neato)创建图形,我想将节点放在特定位置.为此,我为所有边指定了精确的边长.但是,我不希望所有边缘在最终图像中可见.
你知道隐藏边缘的方法吗?我应该提一下,我尝试将边缘着色为白色,但是发生的是我在图形节点上画了白线 - 它不是很美观......
我想知道在持久存储中存储图形的最佳方法是什么,以供以后分析,搜索,聚类等.
我看到neo4j是一个选项,我很好奇是否还有其他图形数据库可用.有没有人对大型社交网络如何存储基于图形的数据(或其他需要存储图形模型的网站,例如RDF)有任何见解.
那些像Cassandra或MySQL这样的选项呢?
我有一个如下所示的数据文件:
1 1.0 0
2 1.5 0
3 0.0 1
4 1.2 2
5 1.0 1
6 1.1 1
Run Code Online (Sandbox Code Playgroud)
第一列是我的X值,第二列是我的Y值,第三列是颜色.我想根据第三列对每个线段进行着色.所以前两个线段是"颜色1",下一个是"颜色2",下一个是"颜色3",最后两个再次是"颜色1".
我试过了:
plot 'file.dat' using 1:2:3 with lines rgb variable;
Run Code Online (Sandbox Code Playgroud)
但我的线条全黑了.
这可能在gnuplot中吗?
谢谢,加布
我在flatfile中收集一些系统数据,其格式如下:
YYYY-MM-DD-HH24:MI:SS DD1 DD2 DD3 DD4
Run Code Online (Sandbox Code Playgroud)
其中DD1-DD4是四项数据.该文件的一个示例是:
2011-02-01-13:29:53 16 8 7 68
2011-02-01-13:29:58 13 8 6 110
2011-02-01-13:30:03 26 25 1 109
2011-02-01-13:30:08 13 12 1 31
2011-02-01-13:30:14 192 170 22 34
2011-02-01-13:30:19 16 16 0 10
2011-02-01-13:30:24 137 61 76 9
2011-02-01-13:30:29 452 167 286 42
2011-02-01-13:30:34 471 177 295 11
2011-02-01-13:30:39 502 192 309 10
Run Code Online (Sandbox Code Playgroud)
该文件超过200万行,每五秒钟有一个数据点.
我需要绘制这些数据,以便能够从中获得意义.
我试过的
目前我已尝试使用各种unix工具gnuplot和rrdtool(awk,sed等).这两种方法都有效,但每次我想以不同的方式查看数据时,似乎都需要大量的切割和重新编辑数据.我的直觉是rrdtool是正确的方法,但目前我正在努力将数据快速地加入其中,部分原因是因为我必须将我的时间戳转换为Unix时代.我的理解是,如果我决定我想要一个新的聚合粒度,我必须重建rrd(这对于实时收集是有意义的,但不是像这样的追溯加载).这些事情让我觉得我可能正在使用错误的工具.
将数据收集到平面文件是固定的 - 例如,我无法将集合直接传递到rrdtool.
我的问题
我希望人们对制图的最佳方式有所了解.我有这些要求:
有什么建议?
我从jsfiddle(https://jsfiddle.net/varunoberoi/mcd6ucge)尝试了这个c3.js代码,但它似乎在我的localhost中不起作用.
我使用uniserver作为我的服务器.我复制粘贴一切,但它不起作用.
<html>
<head>
<!-- CSS -->
<link href="css/c3.css" rel="stylesheet" type="text/css" />
<!-- JAVASCRIPT -->
<script src="js/d3.min.js" type="text/javascript"></script>
<script src="js/c3.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload=function(){
var chart = c3.generate({
data: {
columns: [
['data1', 300, 350, 300, 0, 0, 0],
['data2', 130, 100, 140, 200, 150, 50]
],
types: {
data1: 'area',
data2: 'area-spline'
}
},
axis: {
y: {
padding: {bottom: 0},
min: 0
},
x: {
padding: {left: 0},
min: 0,
show: false
}
}
});
} …Run Code Online (Sandbox Code Playgroud) 如何在无向图中找到所有无弦循环?
例如,给出图表
0 --- 1
| | \
| | \
4 --- 3 - 2
Run Code Online (Sandbox Code Playgroud)
算法应该返回1-2-3和0-1-3-4,但绝不会返回0-1-2-3-4.
(注意:[1]这个问题与平面图中的小周期发现不同,因为图不一定是平面的.[2]我已经阅读了文章生成所有周期,无弦周期和哈密顿周期的原理排除,但我不明白他们在做什么:).[3]我已经尝试过CYPATH,但程序只给出了计数,readme.txt中的算法EnumChordlessPath有很大的拼写错误,而且C代码很乱.[4]我并不想找到任意一组基金会周期.循环基础可以有和弦.)
绘制一个集团图
import networkx as nx
....
nx.draw(G, layout=nx.spring_layout(G))
Run Code Online (Sandbox Code Playgroud)
产生如下图:

显然,需要增加节点之间的间隔(例如,边缘长度).我用谷歌搜索了这个,并在这里找到了这个建议:
对于某些布局算法,存在可能有帮助的"缩放"参数.例如
在1中:将networkx导入为nx
在2:G = nx.path_graph(4)
在[3]中:pos = nx.spring_layout(G)#default to scale = 1
在[4]中:nx.draw(G,pos)
在[5]中:pos = nx.spring_layout(G,scale = 2)#所有节点之间的双倍距离
在[6]中:nx.draw(G,pos)
但是,该scale参数似乎没有任何影响.
获得更好绘图的正确方法是什么?
想象一下有向无环图如下,其中:

我可以使用什么算法来确定两个任意节点的最低共同祖先(LCA),例如,共同的祖先:
注意:
algorithm graph directed-acyclic-graphs lowest-common-ancestor
我正在努力学习一些Python图形可视化.我发现了一些博客文章做了一些 我想尝试的事情.不幸的是我没有走得太远,遇到这个错误:AttributeError: 'module' object has no attribute 'graphviz_layout'
在我的系统上重现错误的最简单的代码片段是这样的,
In [1]: import networkx as nx
In [2]: G=nx.complete_graph(5)
In [3]: nx.draw_graphviz(G)
------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-3-481ad1c1771c> in <module>()
----> 1 nx.draw_graphviz(G)
/usr/lib/python2.7/site-packages/networkx/drawing/nx_pylab.pyc in draw_graphviz(G, prog, **kwargs)
982 See networkx.draw_networkx() for a description of optional keywords.
983 """
--> 984 pos = nx.drawing.graphviz_layout(G, prog)
985 draw(G, pos, **kwargs)
986
AttributeError: 'module' object has no attribute 'graphviz_layout'
Run Code Online (Sandbox Code Playgroud)