我一直试图弄清楚如何在Android上使用JUNG(http://jung.sourceforge.net/).据我所知,Android SDK不支持swing.是否有一个JUNG渲染器的Android端口或一些工具,将摆动代码转换为适当的Android Android代码?
我正在构建一个在Neo4j中存储语义图的应用程序.我希望有一个允许编辑图形的Web界面,例如通过几次点击和拖放来添加新关系,以及通过简单的弹出窗口编辑节点属性.
优选地,图形编辑器将基于JavaScript,但我也有兴趣了解其他选项(Flash,Java applet等).
Neo4j将处于服务器或嵌入式服务器模式.嵌入模式是不可接受的,因为我想使用Neo4j自己的Web界面访问服务器.
我也在努力寻找合适的Web框架.我主要经历过Rails,但最近我对Vaadin感兴趣,因为它提供了开箱即用的简洁UI组件.播放似乎也很好,但似乎没有那么多模块的最新版本.
所以我一直在考虑关注Web应用程序的框架:
玩得 好,主要是因为我喜欢Scala和Play似乎在最新版本中得到了很好的支持.但是,生态系统可能有点太小(支持,库的数量)?
Rails 我非常喜欢Rails.但是,我不知道Rails的任何图形插件或集成.也许我应该自己创建一个(从哪里开始?)?哪个JavaScript图形库适合Rails?
Vaadin 实际上我最近才遇到Vaadin.Vaadin具有良好的IDE支持和许多现成的UI组件.Vaadin似乎至少有一个体面的图形插件(Cytographer).我没有任何Cytoscape的经验或它如何与Neo4j一起工作,但..
而且要说清楚:我不是在寻找一个图表工具,而是一个图形绘制和编辑工具,它与底层Web应用程序框架和Neo4j很好地集成.
ruby-on-rails neo4j vaadin graph-visualization playframework
我需要显示大约1000个节点和边缘的图形.节点应该是可拖动的,并且所有节点都应该在不等待屏幕的情况下实时工作.
所以,我已经检查了很多js图形可视化框架,但仍然无法找到解决方案.
例如,我从以下问题中获取了"JavaScript InfoVis Toolkit": 什么是最快,最纯粹的Javascript,Graph可视化工具包?它挂起250个节点.
所有框架都运行得非常快,但只有100-200个节点.在500个节点和边缘上,它们会抛出异常或完全挂起.
所以,问题是:是否有一个js框架可以使用500-1k节点/边缘,或者我应该使用canvas/WebGL自己实现一些东西.
我正在尝试使用d3制作热图,在x轴上是时间序列,ya数字,颜色是单元格的值.数据基于输入加载,域和范围可以在不同输入上改变.我无法找到这样的例子.有谁知道我怎么能创造它?
谢谢
我有几个XML文件具有类似的结构,但有一些我不能忽视的差异.它们都是TEI文件.
我正在寻找一种概述主要结构的方法.
以下面的文字为例:
<text xmlns="http://www.tei-c.org/ns/1.0" xml:id="d1">
<body xml:id="d2">
<div1 type="book" xml:id="d3">
<head>Songs of Innocence</head>
<pb n="4"/>
<div2 type="poem" xml:id="d4">
<head>Introduction</head>
<lg type="stanza">
<l>Piping down the valleys wild, </l>
<l>Piping songs of pleasant glee, </l>
<l>On a cloud I saw a child, </l>
<l>And he laughing said to me: </l>
</lg>
Run Code Online (Sandbox Code Playgroud)
我想抑制相同类型的节点和所有重复结构:
<body xml:id="d2">
<div1 type="book" xml:id="d3">
<head>Songs of Innocence</head>
<pb n="4"/>
<div2 type="poem" xml:id="d4">
<head>Introduction</head>
<lg type="stanza">
<l>...</l>
</lg>
<lg>...</lg>
Run Code Online (Sandbox Code Playgroud)
所以,基本上我想将XML文档缩减到最基本的结构.通过这种方式,我可以弄清楚如何使用XSLT正确转换它们.
该图有大约100个节点,社区数量从5到20不等.有没有办法绘制图形,使得同一社区的节点彼此接近?
我试图为不同的社区分配不同的颜色,但这在我的应用程序中不能很好地工作.
我正在使用python 2.7.12和newtorkx-1.11
我已经使用勾选配置分配了Y轴的最小值和最大值.但我不希望这些最小值最大值显示在图中.我需要在两端隐藏这些值
ticks:
{
callback: function(value){
returnparseFloat(value.toFixed(2))
},
min: y1_min,
max: y1_max,
fontColor: "#000000",
fontSize: 12
Run Code Online (Sandbox Code Playgroud)
},
扩展先前的问题: 更改使用导出 graphviz 创建的决策树图的颜色
我将如何根据主导类(鸢尾花的种类)而不是二元区分为树的节点着色?这应该需要 iris.target_names(描述类的字符串)和 iris.target(类)的组合。
import pydotplus
from sklearn.datasets import load_iris
from sklearn import tree
import collections
clf = tree.DecisionTreeClassifier(random_state=42)
iris = load_iris()
clf = clf.fit(iris.data, iris.target)
dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names,
filled=True, rounded=True,
special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data)
nodes = graph.get_node_list()
edges = graph.get_edge_list()
colors = ('brown', 'forestgreen')
edges = collections.defaultdict(list)
for edge in graph.get_edge_list():
edges[edge.get_source()].append(int(edge.get_destination()))
for edge in edges:
edges[edge].sort()
for i in range(2):
dest = graph.get_node(str(edges[edge][i]))[0]
dest.set_fillcolor(colors[i])
graph.write_png('tree.png')
Run Code Online (Sandbox Code Playgroud) decision-tree graph-visualization python-3.x pydot scikit-learn
我正在使用react-vis lib进行可视化。谁能告诉我如何绘制时间序列图以获取以下数据?提前致谢。
data = [
{x:"01/01/2018",y:75},
{x:"14/02/2018",y:60},
{x:"18/03/2018",y:80},
{x:"15/04/2018",y:90},
{x:"10/05/2018",y:95},
]
Run Code Online (Sandbox Code Playgroud) 我正在尝试为 Bokeh 中的节点和边缘获取单独的悬停工具提示,但无法使其正常工作。有人能指出我做错了什么吗?我相信代码应该是这样的:
from bokeh.io import show, output_notebook
from bokeh.models import Plot, Range1d, MultiLine, Circle, HoverTool
from bokeh.models.graphs import from_networkx, NodesAndLinkedEdges, EdgesAndLinkedNodes
import networkx as nx
output_notebook()
# Generate data
G = nx.karate_club_graph()
nx.set_edge_attributes(G, nx.edge_betweenness_centrality(G), "betweenness_centrality")
# Setup plot
plot = Plot(plot_width=400, plot_height=400,
x_range=Range1d(-1.1, 1.1), y_range=Range1d(-1.1, 1.1))
graph_renderer = from_networkx(G, nx.spring_layout, scale=1, center=(0, 0))
graph_renderer.node_renderer.glyph = Circle(size=15)
graph_renderer.edge_renderer.glyph = MultiLine(line_alpha=0.8, line_width=1)
plot.renderers.append(graph_renderer)
# Add hover
node_hover_tool = HoverTool(renderers=[graph_renderer.node_renderer],
tooltips=[("index", "@index"), ("club", "@club")])
edge_hover_tool = HoverTool(renderers=[graph_renderer.edge_renderer],
tooltips=[("betweenness_centrality", "@betweenness_centrality")],
line_policy="interp")
plot.add_tools(node_hover_tool, edge_hover_tool) …Run Code Online (Sandbox Code Playgroud) javascript ×3
graph ×2
python ×2
android ×1
bokeh ×1
canvas ×1
chart.js ×1
d3.js ×1
data-mining ×1
jung ×1
neo4j ×1
networkx ×1
pydot ×1
python-3.x ×1
react-vis ×1
scikit-learn ×1
svg ×1
vaadin ×1
webgl ×1
xml ×1