小编Val*_*ine的帖子

动态箭头颜色

我正在使用D3绘制有向非循环图,我希望能够通过将边(和箭头)的颜色更改为该路径来突出显示所选节点的路径.我很容易改变边缘颜色,但我无法弄清楚如何改变相应箭头的颜色.在最适用的来源,我发现表明,这是没有可能的,但它也从大约两年前,所以我想看看是否一切都变了.我用来创建链接,箭头和更新链接颜色的代码如下:

graph.append("svg:defs").selectAll("marker")
     .data(["end"])
   .enter().append("svg:marker")    
     .attr("id", String)
     .attr("viewBox", "0 -5 10 10")
     .attr("refX", 20)
     .attr("refY", 0)
     .attr("markerWidth", 6)
     .attr("markerHeight", 6)
     .attr("orient", "auto")
     .style("fill", "gray")
   .append("svg:path")
     .attr("d", "M0,-5L10,0L0,5");

. . .

var link = graph.append("svg:g").selectAll("line")
     .data(json.links)
   .enter().append("svg:line")
     .style("stroke", "gray")
     .attr("class", "link")
     .attr("marker-end", "url(#end)");

. . .

function highlightPath(node) {
  d3.selectAll("line")
    .style("stroke", function(d) { 
      if (d.target.name == node) {
        highlightPath(d.source.name);
        return "lightcoral";
      } else {
        return "gray";
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

任何建议都会很棒.谢谢.

javascript colors d3.js

6
推荐指数
2
解决办法
3092
查看次数

错误:从JSON文件发送到NSMutableArray的不可变对象的Mutating方法

这似乎是一个相当普遍的问题,但我所看到的解决方案并没有解决错误.我试图从JSON文件中读取NSMutableArray.我见过的许多建议涉及使用mutableCopy[NSMutableArray arrayWithArray:],但这两个解决方案在使用调用replaceObjectAtIndex:withObject时都没有解决问题:见下文.如果您对如何解决此问题有任何建议,请告诉我.

编辑:我还想补充说,库存清单是NSMutableArray对象的NSMutableArray.

确切的错误如下:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: '-[__NSCFArray replaceObjectAtIndex:withObject:]: 
mutating method sent to immutable object'
Run Code Online (Sandbox Code Playgroud)

我在我的实现文件的顶部定义了如下属性:

NSMutableArray *inventoryData;
Run Code Online (Sandbox Code Playgroud)

我试图从JSON文件中读取它,如下所示:

- (void)readJSON
{
    //Code to get dictionary full of saves from JSON file (overworld.json) - includes the file path on the ipad as well as
    //the dictionary itself
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *localPath = [[NSString alloc] initWithString:[documentsDirectory stringByAppendingPathComponent:@"savedPaintGameData.json"]];
    NSString …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c popup viewdidload

3
推荐指数
1
解决办法
2483
查看次数

标签 统计

colors ×1

d3.js ×1

javascript ×1

objective-c ×1

popup ×1

viewdidload ×1

xcode ×1