我正在尝试使用Cytoscape.js创建网络图谱时,用图像代替节点进行显示,但是我还没有成功。我从Images and breadthfirst示例开始(https://gist.github.com/maxkfranz/aedff159b0df05ccfaa5),但有几个关键的地方需要改变。
首先,我只想显示一个图像而不是节点。上面的示例显示了一个带有图像的圆形节点。有没有办法使节点完全透明,让图像透过来呢? 我只想看到我的矢量图标图像。当我删除节点选择器的所有样式属性,除了宽度和高度之外,仍然会看到一个约束我的图像的圆形。我只想看到我的图像。
接下来,我想使用元素数据中的某些内容来决定要使用哪个图像,而不是上面示例中的#nodeId机制。
我测试了“shape-database”类是否能正常工作,通过在页面上添加一个简单的div,这个类在普通的div上可以正常工作。但是,我给cyto节点添加了classes属性后,它并没有显示背景图片。看起来好像类没有应用到节点上,或者节点在某种程度上阻止了图片的显示。这与我之前使用的代码完全相同,除了删除了所有节点选择器CSS属性,只保留了宽度和高度,并且移除了#order-db CSS选择器。对于节点,我只看到一个灰色的圆形。
当元素的classes属性没有起作用时,我甚至尝试了以下方法,但均无效...
有没有想法我做错了什么?提供一个只显示图片而不是节点的示例链接也会有帮助。
首先,我只想显示一个图像而不是节点。上面的示例显示了一个带有图像的圆形节点。有没有办法使节点完全透明,让图像透过来呢? 我只想看到我的矢量图标图像。当我删除节点选择器的所有样式属性,除了宽度和高度之外,仍然会看到一个约束我的图像的圆形。我只想看到我的图像。
接下来,我想使用元素数据中的某些内容来决定要使用哪个图像,而不是上面示例中的#nodeId机制。
.selector('#order-db')
.css({
'background-image': 'https://farm8.staticflickr.com/7272/7633179468_3e19e45a0c_b.jpg'
})
为每个id使用唯一选择器并不是很可伸缩或易于修改。我更喜欢一种声明式的方法,其中数据元素上的属性确定要显示哪个图像。我尝试使用元素的“classes”属性,并向其添加了一个“shape-database”值。以下是类的定义...
.shape-database {
width: 95px;
height: 95px;
/*background: url('images/network-icons.jpg') 0px -95px;*/
background: url('images/database-5-med.png');
}
我测试了“shape-database”类是否能正常工作,通过在页面上添加一个简单的div,这个类在普通的div上可以正常工作。但是,我给cyto节点添加了classes属性后,它并没有显示背景图片。看起来好像类没有应用到节点上,或者节点在某种程度上阻止了图片的显示。这与我之前使用的代码完全相同,除了删除了所有节点选择器CSS属性,只保留了宽度和高度,并且移除了#order-db CSS选择器。对于节点,我只看到一个灰色的圆形。
当元素的classes属性没有起作用时,我甚至尝试了以下方法,但均无效...
cy.$('#order-db').addClass('shape-database');
有没有想法我做错了什么?提供一个只显示图片而不是节点的示例链接也会有帮助。
background-opacity
的描述,它是这样写的:“节点背景颜色的不透明度级别。”有没有关于如何改进措辞的建议?谢谢。 - maxkfranz