我一直在尝试使用 Ontotext GraphDB 创建一些图形可视化。我希望我对相同数据制作的各种可视化效果之间的颜色保持一致。我知道颜色是根据类型而定的,但似乎并不一致。例如,如果我创建一个仅包含类型 节点的可视化图表A
,分配给节点的颜色可能是红色,但是如果我创建一个包含类型A
和 类型节点的可视化图表B
,则分配给节点的颜色不会出现类型A
保证仍然是红色的。
我想了解可视化系统根据类型分配颜色的机制。
作为旁注,我还遇到了较大网络的问题,其中图形的节点变得大于窗口的大小,因此即使我一直缩小,我也无法立即查看所有节点。
小智 5
颜色基于节点的类型,并且每次都会生成类型的颜色(我们不保留它们)。不幸的是,您无法在不接触源代码的情况下在 GraphDB Workbench 中指定 Visual Graph 节点颜色,因此您需要从 github 克隆 GraphDB Workbench 并在源代码中为您的类型设置颜色,但我将指导您如何做到这一点,它是非常简单。
从这里克隆或分叉项目https://github.com/Ontotext-AD/graphdb-workbench
(有一个很好的指南如何针对正在运行的 GraphDB 运行工作台)
打开 src/js/angular/graphexplore/controllers/graphs-visualizations.controller.js 并找到函数 $scope.getColor。
您可以在那里指定您的颜色和类型,即:
$scope.getColor = function (type) {
if (type === 'http://myBarType') {
return "#6495ED"
}
if (type === 'http://myFooType')
{
return "#90EE90";
}
if (angular.isUndefined(type2color[type])) {
type2color[type] = colorIndex;
colorIndex++;
}
Run Code Online (Sandbox Code Playgroud)