Javascript dc.js重新选择已渲染的图表

Javascript dc.js重新选择已渲染的图表,javascript,angularjs,d3.js,dc.js,Javascript,Angularjs,D3.js,Dc.js,我试图手动重新设置已渲染饼图的宽度。图表是在一个角度工厂和指令中创建和呈现的,我想从一个控制器中获得这个图表。是否有类似于的select方法 var chart = dc.pieChart("#pieChart"); 我可以用来做这类事情 chart .width(500) dc.redrawAll() 如何重新选择已渲染的图表以执行上述操作 所以我只是通过作用域上的一个自定义对象将图表对象传递回来,只是为了尝试获取它,并且它可以工作 // inside something else

我试图手动重新设置已渲染饼图的宽度。图表是在一个角度工厂和指令中创建和呈现的,我想从一个控制器中获得这个图表。是否有类似于的select方法

var chart = dc.pieChart("#pieChart");
我可以用来做这类事情

chart
   .width(500)

dc.redrawAll()
如何重新选择已渲染的图表以执行上述操作

所以我只是通过作用域上的一个自定义对象将图表对象传递回来,只是为了尝试获取它,并且它可以工作

// inside something else
$scope.thisObject.charts.forEach(function(d){
    if (d.name === element.id) {
         // found the right object
         d.chart
            .width(500)
            .height(500)

         dc.chart.render();
         // this works for bars, rows and line charts, but not pies?
    }
})
尝试更改图表宽度,如

dc.redrawAll();
希望它能工作,否则您可以使用另一个选项

在更改图表宽度后尝试,如

dc.redrawAll();

希望它能起作用,否则您可以选择另一个选项

谢谢,但这不是我的问题。我想知道如何“选择”一个已经呈现的图表。。。这样我可以手动“重新设置”属性(宽度等)。谢谢,但这不是我的问题。我想知道如何“选择”一个已经呈现的图表。。。这样我就可以手动“重新设置”属性(宽度等)。我认为您必须以某种方式保持图表对象。我不知道角度是如何工作的,但如果它能对你隐瞒这一点,那就很烦人了。你也可以随便看看,但我不确定你会如何比较图表来找到正确的。嗯……谢谢戈登。我将看看是否可以通过自定义对象将图表对象传递回去,并以这种方式进行处理。是的,不行,它会更改svg的尺寸(高度,wid),但即使使用renderAll和redrawAll,它也不会增加g/路径,etcit适用于条形图、行和线,但不适用于饼图?有什么想法吗?天啊,我不想看到你使用从绝对零开始的
renderAll
。它应该与重画一起工作。(调整浏览器窗口的大小以进行尝试。)是否可以简单地定义半径,而仅从宽度/高度计算半径?我认为您必须以某种方式保留图表对象。我不知道角度是如何工作的,但如果它能对你隐瞒这一点,那就很烦人了。你也可以随便看看,但我不确定你会如何比较图表来找到正确的。嗯……谢谢戈登。我将看看是否可以通过自定义对象将图表对象传递回去,并以这种方式进行处理。是的,不行,它会更改svg的尺寸(高度,wid),但即使使用renderAll和redrawAll,它也不会增加g/路径,etcit适用于条形图、行和线,但不适用于饼图?有什么想法吗?天啊,我不想看到你使用从绝对零开始的
renderAll
。它应该与重画一起工作。(调整浏览器窗口的大小以进行尝试。)是否可以简单地定义半径,而仅从宽度/高度计算半径?