如何在生成后使用/检索C3缩放功能?

时间:2015-06-30 17:46:40

标签: d3.js charts c3

我正在使用C3生成图表,并发现有必要深入挖掘底层的D3结构以补充其功能。我陷入僵局,需要绘制一个受x值和y值限制的区域,但是"区域" C3的功能仅允许一个或另一个。因此,我需要在C3生成的图表上绘制一个适当位置的矩形,但使用比例函数来确定新矩形的X / Y值。有没有办法用C3或底层D3库做到这一点?

1 个答案:

答案 0 :(得分:3)

您可以从chart.internal(chart.internal.x和chart.internal.y)访问缩放功能。你可能也需要边距(否则你的位置会被那么多偏移)

以下是从点(0索引,100)到(2索引,400)绘制矩形的方法

var rect = chart.internal.svg.append("rect")
    .attr('fill', 'rgba(255, 9, 0, 0.1)')
    .attr("x", chart.internal.x(0) + chart.internal.margin.left)
    .attr("y", chart.internal.y(400) + chart.internal.margin.top)
    .attr("width", chart.internal.x(2) - chart.internal.x(0))
    .attr("height", chart.internal.y(100) - chart.internal.y(400));

小提琴 - http://jsfiddle.net/hehpy91o/