我正在使用d3.js 示例,我想知道如何动态调整x和y轴的域,以便在数据更新时,可以调整图形以适应新的线。下面是设置这些域的当前代码(我认为)。
var x = d3.scale.linear().domain([-15, 15]).range([0, w]);
var y = d3.scale.linear().domain([0, 120]).range([h, 0]);
目前,域值是任意的。变量w和h是svg元素的宽度和高度。
任何帮助都将不胜感激。
我希望实现ggplot2类型的图形使用d3.js库进行交互的目的。我喜欢ggplot2,但用户对交互式图形感兴趣。我一直在探索d3.js库,似乎有很多不同的图形功能,但我真的没有看到任何统计图形,如线性线,预测等。给定散点图,是否有可能也添加线性线到图中。
我有这个绘制散点图的示例脚本。如何在d3.js中将线性线添加到此图中?
// data that you want to plot, I've used separate arrays for x and y values
var xdata = [5, 10, 15, 20],
ydata = [3, 17, 4, 6];
我想改变由d3.js呈现的图形的比例。
这是我想出的(柱塞上的全部代码,参见下面)的摘录:
var toggleZoom = function() {
switch(state) {
case 'zoomed_in':
state = 'zoomed_out';
scaleX = d3.scale.linear().rangeRound([0, width]).domain([min_out, max_out]);
break;
case 'zoomed_out':
state = 'zoome
Mike Bostock的D3.js路径转换示例之一显示了沿X轴的时间图表,以及数据的显示和向左移动,以及轴(考虑“监视器”显示,就像Windows上的任务管理器)。我也在试着做同样的事情,让时间顺畅地向左移动。但是有四个图表(都是相同的时间尺度)。
问题: Mike在每个节拍上重新调用时间轴生成器。在这一点上,这是图形绘制中最昂贵的部分,大约花费了90%的时间。有没有人知道如何做滚动左边的其他方式,而不是每次都需要重新绘制?我想试着预先创建一个轴,然后使用平移和裁剪只显示相关的部分,但想看看是否有人有更好的(即更快的)解决方案,或者知道某个地方的示例。
谢谢,戴夫