在 D3 中按菜单按钮后调用轴
Call the axis after pressing a menu button in D3
我正在尝试用 http://bl.ocks.org/mbostock 的例子自学D3。
我拿了散点图,我正在尝试根据哪个菜单项处于活动状态加载各种数据。
一切正常,但我有一个我无法解决的问题。xAxis 应根据链接到菜单项的数据中的值自行更新。
我在网上搜索答案,但找不到适合我的答案。
我认为问题(和解决方案(在于代码的这一部分;
function updateChart() {
svg.selectAll('.dot')
.transition()
.duration(1000)
.attr('cx', function(d) {
return x(d.data[parameter]);
})
svg.select(".x.axis")
.call(xAxis);
}
我制作了这个JSFiddle,以使其更容易理解。
这是怎么回事。
- 但是,您在第一次使用正确的
x
比例成功生成了xAxis
- 您没有使用新的数据域更新
xAxis
您是对的,因为每当单击标签时,您都必须重新更新秤。
我做了几件事:
- 在强制数字后添加一个
sourceData
变量,以便所有函数引用 - 添加一个
updateXScale(data)
功能,只需更新x
秤的domain
- 每次单击标签时调用它。这不仅可以修复您的 x 刻度,还可以为您的
.dot
正确缩放 x 坐标。
这是它在一起的样子。我创建了一个小提琴,其中包含您的示例的工作版本。
这是您的updateChart
函数以供参考:
function updateChart() {
updateXScale(sourceData);
svg.selectAll('.dot')
.transition()
.duration(1000)
.attr('cx', function(d) {
return x(d.data[parameter]);
});
svg.select(".x.axis")
.call(xAxis);
}
相关文章:
- 调用按钮单击事件 ajax 加载的用户控件
- 未调用按钮事件
- 在另一个C#按钮单击处理程序之前,从OnClientClick函数调用C#按钮处理程序
- 通过javascript ASP.NET MVC下拉列表调用按钮
- jquery ajax 调用按钮单击验证不起作用
- 按 Enter 键并调用按钮函数
- jquery调用按钮集,保持其他一切
- 表单操作调用按钮
- 如何从Ruby/Rails调用按钮的特定实例.each循环,当它们都具有相同的类时
- 如何在创建后的dojoAMD模块中调用按钮点击事件
- __doPostBack()导致了aspx页面中的postback但未调用按钮单击事件
- 从JavaScript asp.net调用按钮点击;不起作用
- 如何从JQuery对话框调用c#按钮事件
- fullcalender不调用按钮点击和内部的任何函数
- 调用按钮从JavaScript
- 我想调用一个方法在一个脚本通过传递参数从javascript函数调用按钮点击从html
- Jquery函数不调用按钮点击
- Onclick事件-使用id以外的东西调用按钮
- JQuery未捕获错误:不能在初始化之前调用按钮的方法;试图调用方法'loading'
- jQuery移动按钮上的调用按钮(“刷新”)会破坏按钮样式