按序列名称设置动态图的初始列可见性
Setting dygraphs initial column visibility by series name
我正试图通过列名设置一些dygraph数据系列的初始可见性。
这是因为数据来自一个CSV文件,其中的列可能会出现或消失,但我知道有几列我想默认禁用,但我不知道它们可能是什么列号(只是名称)。
我是javascript的新手,所以答案可能很简单。我正在努力做到这一点:
<script type="text/javascript">
g = new Dygraph(
document.getElementById("graphdiv"), // containing div
"last/test.csv",
{
connectSeparatedPoints: true,
includeZero: true
}
);
g.setVisibility(g.indexFromSetName("writer_write_start") - 1, 0);
</script>
但这给了我一个错误。如果我从javascript控制台或onclick事件中运行setVisibility命令,它可以正常工作。我怀疑这与当我尝试运行引用CSV文件中数据的方法时Dygraph没有完全加载有关,我需要在Dygraph完全加载后以其他方式运行它。
以CSV文件的路径作为其数据参数调用new Dygraph
时,调用是异步的。所以你的怀疑是正确的——当你打电话给g.indexFromSetName("writer_write_start")
时,得到你想要的答案所需的数据还不可用。
处理此问题的最佳方法是将setVisibility代码移动到初始drawCallback
中,如下所示:
<script type="text/javascript">
g = new Dygraph(
document.getElementById("graphdiv"), // containing div
"last/test.csv",
{
connectSeparatedPoints: true,
includeZero: true,
drawCallback: function(dg, is_initial) {
if (!is_initial) return;
dg.setVisibility(dg.indexFromSetName("writer_write_start") - 1, 0);
}
}
);
</script>
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- jQuery css可见性在load方法中不起作用
- 页面可见性API实际上支持操作系统屏幕锁定吗
- 有没有一种方法可以从隐藏的可见性(CSS,JS)中获得淡入效果
- JavaScript可见性不起作用('隐藏'起作用,'可见'不起作用)
- 从内部回调的可见性
- Openlayers 3为了可见性而绑定到Vector层的复选框没有任何作用
- 在另一个下拉列表中的选择上切换下拉列表中选项的可见性
- 如何禁用mouseout可见性=“;隐藏的“;对小于768px的介质的影响
- 在网格视图的自动刷新过程中,设置内部网格视图文本框的可见性
- 将元素的可见性绑定到另一个元素
- 使用 Javascript 将 HTML 页面中的默认可见性从可见更改为隐藏
- 使用 jQuery 检查文本可见性 .包含代码的行为不符合预期
- 在 jQuery 手风琴样式菜单中切换子项可见性
- CSS 中定义的可见性值未显示在 Javascript 中
- jquery切换可见性
- 如何使用 asp.net 中的另一个下拉列表更改下拉列表选定的索引和可见性
- D3.js动态设置节点可见性
- 按序列名称设置动态图的初始列可见性
- 当通过Ajax动态加载时,多个脚本之间的可见性