我正在浏览器中处理 cytoscape.js 图。当鼠标悬停在细胞景观图中的节点上时,我想显示节点的一些信息(例如节点标签)。以下代码适用,console.log()但我想在浏览器中显示信息:
cy.on('mouseover', 'node', function(evt){
var node = evt.target;
console.log( 'mouse on node' + node.data('label') );
});
Run Code Online (Sandbox Code Playgroud)
请帮忙 !
以下 cytoscape.js 图表显示其边缘没有箭头。我确实有一个指定三角形箭头的边缘选择器,但它没有显示。
var cy = cytoscape({
container: document.getElementById('cy'),
style: [{
selector: 'node',
style: {
'background-color': 'mapData(activation, -1, 1, blue, red)',
'label': 'data(id)'
}
}, {
selector: 'edge',
style: {
'width': 3,
'line-color': function(ele) {
return ele.data('relation')
},
'target-arrow-color': function(ele) {
return ele.data('relation')
},
'target-arrow-shape': 'triangle'
}
}],
// If you want to apply the layout on the constructor
// you must supply the elements too
layout: {
name: 'breadthfirst'
},
elements: {
nodes: [{
group: 'nodes',
data: {
id: …Run Code Online (Sandbox Code Playgroud)尽管 Cytoscape.js 支持节点中的背景图像,但我无法显示没有 CORS(跨源资源共享)标头的图像。Chrome 抛出以下错误。
Access to image at 'https://cdn2-www.dogtime.com/assets/uploads/gallery/goldendoodle-dog-breed-pictures/puppy-4_1.jpg'
from origin 'https://null.jsbin.com' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)
这是我试图访问的图像 -
但是,如果我尝试使用 d3.js 在节点中显示与背景相同的图像,则会显示该图像。
Cytoscape.js
Access to image at 'https://cdn2-www.dogtime.com/assets/uploads/gallery/goldendoodle-dog-breed-pictures/puppy-4_1.jpg'
from origin 'https://null.jsbin.com' has been blocked by CORS policy:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)
var cy;
window.addEventListener('DOMContentLoaded', function() {
cy = cytoscape({
container: document.getElementById('cy'),
style: cytoscape.stylesheet()
.selector('node')
.css({
'height': 60,
'width': 60,
'background-fit': 'cover',
'border-color': '#000',
'border-width': …Run Code Online (Sandbox Code Playgroud)我正在使用 React cytoscape 库。尝试集成到 cytoscape 的 popper 插件。popper“content”属性期望返回一个 div 元素,描述附加到“body”元素的 popper。由于上下文提供者位于根元素下,因此该 div 不能成为该上下文的使用者。如何在根外部定义的 popper 元素中使用相同的上下文。
使用 cytoscape 的 React 组件,但 cytoscape 的插件是纯 js 的。
<body>
<div id=root>
<Style_Provider>
.
.
.
</Style_Provider>
</div>
<div id="popper">
// need to access to style context
</div>
</body>
Run Code Online (Sandbox Code Playgroud) 如何将颜色更改为布局中已存在的节点或边缘(不删除/添加它)?
我有一个带有预选位置的节点布局,我想改变颜色(节点和边缘),但不是每个节点(或边缘)。我已经试过了
cy.style('background-color', 'color');
Run Code Online (Sandbox Code Playgroud)
,这允许更改颜色,但它会更改每个节点的颜色。
我只想改变一个节点的样式。
非常感谢
罗伯特
Cytoscape Javascript 绘图软件附带了多种内置布局,但也有其他作为“扩展”创建的布局。我尝试使用“klay”布局,这是一个扩展,但我只是收到 JavaScript 错误。(我的代码可以很好地处理内置布局,例如“cose”,但无法处理扩展。以下是我使用的包含文件:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.14.0/cytoscape.min.js"></script>
<script src="https://unpkg.com/klayjs@0.4.1/klay.js"></script>
<script type="text/javascript" src="scripts/cytoscape-klay.js"></script>
Run Code Online (Sandbox Code Playgroud)
那么我在这里做错了什么?一旦我有了正确的“包含”文件,代码就应该可以工作,因为内置布局的布局使用应该与扩展布局相同。谢谢。
我正在使用 cytoscape.js 显示有向图,并在标签中显示 2 个属性。
我想将文本换行,据说文档中可以这样做,但我无法让它工作。任何人都可以帮助解决语法问题吗?
'label': 'data(name)',
'font-size' : 14
'text-wrap': 'wrap/n'
Run Code Online (Sandbox Code Playgroud)
text-wrap似乎不起作用,它挂起图形显示。
我需要设置“text-max-width”吗?
提前致谢
我试图在节点上添加右键单击事件,但框架似乎没有捕获这些事件。仅当我左键单击时才会触发此事件:
cy.on('mousedown', (event, node) => {
console.log(event.originalEvent);
});
Run Code Online (Sandbox Code Playgroud)
我们可以从原始事件中过滤出我们感兴趣的按钮吗?
cytoscape.js ×8
javascript ×5
charts ×2
d3.js ×1
graph ×1
label ×1
popper.js ×1
reactjs ×1
styles ×1