我有一个无向图,每个节点都包含一个数组.可以从阵列中添加/删除数据.什么是在Mongodb中存储它的最佳方法,并且能够有效地执行此查询:给定节点A,选择A中相邻节点中包含的所有数据.
在关系数据库中,您可以创建一个表示边的表,另一个表用于在每个节点中存储数据.
table 1
NodeA, NodeB
NodeA, NodeC
table 2
NodeA, item1
NodeA, item2
NodeB, item3
Run Code Online (Sandbox Code Playgroud)
然后在查询相邻节点中的数据时加入表.但是在MongoDB中无法加入,因此设置此数据库并有效查询相邻节点中的数据的最佳方法是什么(有利于稍微超出空间的性能).
我需要定义一个社交网络,分析它并绘制它.我可以手工绘制并手工分析(计算各种指标).但我不想重新发明轮子.
我曾尝试使用matplotlib,但我需要以交互方式使用它,并在几行中告诉它如何加载数据,然后调用渲染函数,将图形渲染为SVG.
如何以所描述的方式可视化社交网络?
假设值从0到1归一化,获得颜色以创建这样的热图的算法是什么?
1为红色,.5为绿色,0为深蓝色.
在RMagick/ImageMagick工作.

需要找到一种方法来表示带有错误条的图形,但似乎它现在还没有支持highchart.我的计划是使用堆栈列条形图0,将Y降低为透明,将Y降低到Y,用红色或我稍后要选择的任何东西.
我的问题是:
无论高图中的缩放级别如何,是否可以将堆栈列条宽度限制为1px?
感谢您的投入!
我正在绘制x,y空间中的一系列曲线,其中每条曲线由标量值z标识.我希望将z值映射到每条线的颜色,但是大多数色彩图/颜色表都是在考虑图像的情况下构建的(例如,在白色背景上,灰度色彩图隐藏了z的一个极端).
彩虹/光谱/喷射色图 - 这是许多绘图程序中的默认值 - 更好,但是白色背景上的黄色/青色线的可见性差,蓝色/青色/绿色之间的色彩对比度差.Borland和Taylor进一步讨论了彩虹色图的这个问题和其他问题:
有人能推荐更好的东西吗?我正在寻找的一些方面:
编辑/更新:每个endolith的请求,这是一个简化的示例图:
"灰色"色图和它的亲戚(从黑色开始到白色结束)是为图像设计的,但是当用于在白色背景上绘制线条或点时,有些将很难看到或看不见."jet"色图和它的光谱亲属通常也有黄色,绿色或其他颜色,很难在白色背景上看到.
我想在D3中创建一个时间序列折线图,下面的图表的较小版本允许用户放大图表的某些部分,如Google财经图表.
我发现的最接近的例子是这个泳道图:
有没有人在D3中使用折线图做任何这样的例子?
注意:我绝对想要一个小版本的图形,顶部有一个可调整大小的刷子,而不是像这个例子那样纯粹可拖动/可缩放的x轴.
理想情况下,我想使用人力车,但人力车的例子似乎只有一个范围滑块.所以人力车的例子会更好.
这是一个有点抽象和一般性的问题.我对使用大量内部引用(类似图形)和许多属性(类似JSON)来保存非结构化数据的不同方法的固有(以及特定于实现)属性感兴趣.
由于图形是树的超集,因此您可以将图形DB(例如Neo4j)视为文档DB的超集(例如MongoDB).也就是说,图形DB提供了文档DB的所有功能,另外还允许循环或具有本机指针类型,因此您不必手动取消引用外键/ ID.那么,当您添加更多对象/资源的引用时,您会遇到一些转折点,您最好使用图形数据库,但之前的文档存储更好吗?文档数据库(存储空间,性能?)是否有优势?或者您是否应该总是使用图形数据库以防将来需要更多引用?
同样,图形DB和三重存储(例如RDF存储)如何比较?图形DB(节点和边缘具有属性)似乎是简单三重存储的超集.Neo4j说,对于什么问题(如果有的话)执行三重存储实际上更好?(RDF存储的一个优点是有一种标准化的查询语言--SPARQL - 尽管似乎有很多人不喜欢SPARQL,因此称其为劣势.)
我想我的问题是:图形模型(带有属性)似乎能够整齐地表达各种数据,当你进入现实时会有什么收获?我认为图形数据库的捕获是性能,因此我希望看到一些数字或经验法则,说明在加载,查询和修改数据以及内存和持久存储要求时会出现什么样的减速(与文档相比)和三联商店).那么水平可扩展性呢?我觉得那里的比赛场地非常平坦.
您是否认为具有可表达性的图形可能成为没有超大数据的项目的新默认存储模型,或者我们注定了十年的Polyglot Persistence与RDBMS,JSON存储和Graph DB彼此生活在一起必须与更多的胶水代码集成?
我有一个大的节点和有向边的图.此外,我还为每个节点分配了一个额外的值列表.
我现在想根据节点值更改每个节点的颜色.例如,绘制具有非常高的红色值的节点和具有低值蓝色的节点(类似于热图).这在某种程度上很容易实现吗?如果没有使用networkx,我也可以使用Python中的其他库.
我考虑过创建一个Vertices表和一个Edges表,但是在内存中构建图形并遍历子图需要大量的查找?我想避免过多的数据库读取.有没有其他方法可以持久保存图表?
旁注:我听说过Neo4j,但我的问题是如何在概念上代表标准数据库中的图形.我对mongodb等NoSQL解决方案持开放态度.
这是我的树:
tree = data.frame(branchID = c(1,11,12,111,112,1121,1122), length = c(32, 21, 19, 5, 12, 6, 2))
> tree
branchID length
1 1 32
2 11 21
3 12 19
4 111 5
5 112 12
6 1121 6
7 1122 2
Run Code Online (Sandbox Code Playgroud)
这棵树是2D的,由树枝组成.每个分支都有一个ID.1是树干.然后,行李箱分叉成两个分支,11左侧和12右侧.11在分支中分叉111(向左)和112(向右)分叉.等.每个分支都有一定的长度.
在这棵树上有松鼠:
squirrels = data.frame(branchID = c(1,11,1121,11,111), PositionOnBranch = c(23, 12, 4, 2, 1), name=c("FluffyTail", "Ginger", "NutCracker", "SuperSquirrel", "ChipnDale"))
> squirrels
branchID PositionOnBranch name
1 1 23 FluffyTail …Run Code Online (Sandbox Code Playgroud)