我正在使用Cytoscape库制作图表,我正在使用此设置
public static class MessageListener implements ConsumerSeekAware{
ConsumerSeekCallback callback;
@Override
public void registerSeekCallback(ConsumerSeekCallback callback){
this.callback = callback;
}
@Override
public void onPartitionsAssigned(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback) {
}
@Override
void onIdleContainer(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback) {
}
}
图表没问题,但边缘有时会相互拦截,我需要多次刷新图形或重新排列以获得漂亮的图形。是否可以强制Cytoscape在渲染时不截取边缘?
答案 0 :(得分:1)
力导向布局是一种物理模拟,用于设置每个元素的力以约束结果。相对边长度通常具有与它们相关的含义(例如权重),并且您经常希望看到自然聚类。考虑到这些事情,避免边缘交叉通常会产生冲突。
Graphviz和Mathematica具有平面布局,如果您愿意,可以将它们移植到Cytoscape布局扩展中。但是,你将失去强制导向布局的好处。
另见:
答案 1 :(得分:1)
这个解决方案解决了我的问题&#34; cose-bilkent&#34;。
layout: {
name: 'cose-bilkent',
animate: false
},
它未包含在官方发行版中,应包含其他库https://cdn.rawgit.com/cytoscape/cytoscape.js-cose-bilkent/1.6.5/cytoscape-cose-bilkent.js