繁体   English   中英

D3仪表板的一部分未显示

[英]D3 Part of Dashboard not Displayed

我已经使用D3大约一年了,过去我制作仪表板没有问题。 但是,这次我遇到了一个非常奇怪的颠簸。 我有一个带有topo JSON的地理仪表板,下面有一个水平条形图,可以在下面的要点/块中找到:

http://bl.ocks.org/diggetybo/77469aa2acec38f1870197724ea671d6

请注意,您可能必须单击以查看完整视图窗口,blocks网站似乎将iframe的高度限制为500。(您可以忽略除index.html之外的所有文件,其他文件仅是源代码,以及我的tsv数据文件)

过去,我通常的仪表板技术是为仪表板的每个图形分配一个单独的div。 鉴于此,当前的问题是在美国地图下应该有可见的单杠。 但是,尽管进行了很多修补,但不会显示水平条。 我仍然以相同的方式附加它们-过去一直对我有用。 因此,基本上,我不确定为什么未显示水平条形图。

开发人员工具报告说根本没有错误-这很奇怪。 我可以清楚地说出问题,因为仪表板的一半丢失了。

我在index.html中添加了注释,以指示代码的条形图部分在哪里。 具体来说,行:159-228。

以防万一,从概念上清楚地说明水平条形图正在做什么,这可能也会有所帮助。 它应该从一个变量追加rects,该变量将解析后的数据的值从最大到最小排序(在我的tsv中为d.fxb),并按照线性色标进行填充。

更新

我已经结束了样式调用,现在我很难解决其他错误。 可悲的是,我陷入了代码条形图部分的第一行。 第160行。我已经更新了要点,在这里将包括相关行,以方便参考:

var values = data.fxb.sort(function(a, b) {
    return -(a - b);
});

var name_value_array = json.features.name;


var name_values = name_value_array.sort(function(a, b) {

    return -(a.value - b.value);

});

我收到一条错误消息:“无法读取未定义的属性” sort”。据我所知,应该定义数组。这次我非常小心,以确保所有内容都包含在适当的)}标记内。三重检查以确保这些行仍被数据解析功能包围。所以我不确定为什么会发生这种情况。我确实对条形图代码的底部有信心,所以如果有人可以发现阻止我的原因我会很感激。

谢谢

这不能解决您所有的问题,但是您无法关闭此style调用

.style("fill", function(d) {
  // Get data value
  var value = d.properties.fxb;
  if (value=='None') {
    return "#999999"
  }
  if (value) {
  //If value exists…
    return color(value);
  } else {
    //If value is undefined…
    return "#999999";
  }

然后,您还可以得到一个额外的}); 在脚本的底部( style调用最终被关闭)

还有更多错误,但这正在吞噬它们,并且没有显示它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM