构建垂直交叉滤波器图表

时间:2012-08-31 09:30:04

标签: visualization d3.js crossfilter

从基本Crossfilter示例开始,我想创建一个替代可视化,垂直显示条形图而不是水平显示。也就是说,基本上翻转了条形图的轴心。

修改original barChart函数以交换图表中的条形很容易。我已经能够通过以下这些变化做到这一点:

var width = x.range()[1],
    height = y.range()[0];

变为

var width = x.range()[1],
    height = y.range()[0];

和嵌套的barPath方法

path.push("M", x(d.key), ",", height, "V", y(d.value), "h9V", height);

变为

path.push("M", 0, ",", x(d.key), "h", y(d.value), "v9H", 0);

这些微小的变化可以很好地打印条形图,但它不会处理带有刻度线的x轴,也不会处理选择画笔。是否可以将刷子翻转到两侧?如果是这样,我将如何做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:0)

最简单的方法是在图表()中将每个图表的“g”容器旋转90。

这样的事情:

g = div.append("svg").attr("width", width + margin.left +
margin.right).attr("height", height + margin.top +
margin.bottom).append("g").attr("transform", "translate(" +
margin.left + "," + margin.top + ")"+ "**rotate(90)**");