像这里一样,我的Prefuse图太密集而看不到任何东西。因此,我尝试了@bcr在接受的答案中建议的方法。但是,它对我不起作用。这是我尝试的:
我检索了默认设置。然后,我更改了NBodyForcefrom
的第二个 参数ForceSimulator
(称为Distance)和第二个
参数SpringForce
(称为DefaultSpringLength
),并将它们(连同其他默认值)一起输入了new ForceSimulator。但是
输出中没有任何变化。我怎么了?
这是我的代码:
This is my code:
private static void visualiseGraph(Graph graph) {
Visualization vis = new Visualization();
vis.add("graph", graph);
LabelRenderer r = new LabelRenderer("someLabel");
r.setRoundedCorner(8, 8);
vis.setRendererFactory(new DefaultRendererFactory(r));
ColorAction fill = new ColorAction("graph.nodes",
VisualItem.FILLCOLOR, ColorLib.rgb(190,190,255));
ColorAction text = new ColorAction("graph.nodes",
VisualItem.TEXTCOLOR, ColorLib.gray(0));
ColorAction edges = new ColorAction("graph.edges",
VisualItem.STROKECOLOR, ColorLib.rgb(255,180,180));
ActionList color = new ActionList();
color.add(fill);
color.add(text);
color.add(edges);
ActionList layout = new ActionList(Activity.INFINITY);
Force[] originalForces = new ForceDirectedLayout("").getForceSimulator().getForces();
ForceDirectedLayout fdl = new ForceDirectedLayout("graph"){
@Override
public ForceSimulator getForceSimulator() {
ForceSimulator fs = new ForceSimulator();
fs.addForce(new NBodyForce(originalForces[0].getParameter(0), 100, originalForces[0].getParameter(2)));
fs.addForce(originalForces[1]);
fs.addForce(new SpringForce(originalForces[2].getParameter(0), 100));
return fs;
}
};
layout.add(fdl);
layout.add(new RepaintAction());
vis.putAction("color", color);
vis.putAction("layout", layout);
Display display = new Display(vis) {
@Override
public Dimension getPreferredSize() {
return new Dimension(W, H);
}
};
display.pan(W / 2, H / 2);
display.addControlListener(new DragControl()); // drag items around
display.addControlListener(new PanControl()); // pan with background left-drag
display.addControlListener(new ZoomControl()); // zoom with vertical right-drag
JFrame frame = new JFrame("prefuse example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(display);
frame.pack();
frame.setVisible(true);
vis.run("color");
vis.run("layout");
}
一种方法可能是添加JForcePanel,即
Swing组件,用于Force在
给定的框架中配置功能参数ForceSimulator。
在制作可视化文件时对探索不同的参数设置很有用。
这可能有助于您找到在的
实现中使用的最佳参数getForceSimulator()
。
ForceSimulator fsim = ((ForceDirectedLayout) layout.get(0)).getForceSimulator();
JForcePanel fpanel = new JForcePanel(fsim);
frame.add(fpanel, BorderLayout.SOUTH);
其中demos包括prefuse.demos.GraphView一个完整的示例。根据经验,某些参数似乎
取决于所选数据集具有或多或少的作用。
附录:仔细观察,我发现您的方法使内部状态fdl保持不变。而是创建一个新文件ForceSimulator,并在
布局和强制面板中使用它。下面的示例将defaultLengtha的SpringForce从更改DEFAULT_SPRING_LENGTH为42。
ForceDirectedLayout fdl = new ForceDirectedLayout("graph");
ForceSimulator fs = new ForceSimulator();
fs.addForce(new NBodyForce());
fs.addForce(new DragForce());
fs.addForce(new SpringForce(DEFAULT_SPRING_COEFF, 42));
fdl.setForceSimulator(fs);
另外,更新的SpringForce直接
ForceDirectedLayout fdl = new ForceDirectedLayout("graph");
ForceSimulator fs = fdl.getForceSimulator();
Force[] forces = fs.getForces();
SpringForce sf = (SpringForce) forces[2];
sf.setParameter(SPRING_LENGTH, 42);
视频、电子表格和文档支持在驱动器中预览其内容。我正在开发一个谷歌驱动器应用程序,我希望它支持预览其内容,所以有任何API在谷歌驱动器设置预览缩略图图像或嵌入在它的东西?例如,在视频中,单击预览将在播放器中显示视频,预览图像或电子表格将显示其快照。
了解在升级到新版本的 Photoshop 或在不同计算机上安装 Photoshop 时,如何迁移预设、动作、增效工具、首选项和设置。 预设、设置和动作 预设是指在 Photoshop 中应用于图稿的项目和值的集合。您可以随时存储和载入预设,或将其替换为自定值。例如,动作、画笔和键盘快捷键就是预设。Photoshop 附带有预设,但是您也可以自己创建预设。 设置是指当前载入到 Photoshop 中
我在对应用reduce操作时遇到了一些问题,我想将其简化为。每个AdProvider提供的优惠作为流量,我想使用流来获得所有优惠从每一个他们和连接到一个管道。我怎么可能用Reduce做到这一点?
使用指南 - 数据报告 - 访问分析 - 如何设置页面点击图及热力图 如何设置页面点击图及热力图 第一步:点击“新增点击图”按钮。 注意: 1)最多可以设置10个点击图; 2)热力图和链接点击图只能查看昨天之前的数据,提供最近30天查询功能。 第二步: 1)输入点击图名称。 2)设置监控的一组页面(非必须的,需要的时候使用), 如果希望分析一组页面上的用户点击行为,可以用通配符*,设置一组监控页面
我有一个表单,其中有些字段不是模型的字段。在发送到渲染之前,我想在我的视图中填充它们.. 我的表格: 我的视图代码: 谢啦
问题内容: 我试图按如下所示设置按钮的可见性: 但是我得到了错误: 在通话时 我不知道该如何解决。我知道这是期望给定的一组值,但我所知道的只是将其传递给它。在这里可以做什么? 问题答案: 当您知道自己在做什么时,可以使用 例如,