我正在开发基于d3.js框架的图表。在Towards Reusable Charts中,他们提出了开发可重用图表的传统方法。
但是我无法理解同一个chart
对象如何用于渲染两个不同的svg元素。
例如我们说,
我们有一个图表对象
function chart() {
var width = 720, // default width
height = 80; // default height
function my() {
// generate chart here, using `width` and `height`
}
my.width = function(value) {
if (!arguments.length) return width;
width = value;
return my;
};
my.height = function(value) {
if (!arguments.length) return height;
height = value;
return my;
};
return my;
}
var chartobject = chart().width(100);
使用相同的chartobject
,有两个带有id1,id2的svg元素我想生成并更新图表
d3.select("#id1").data(data).call(chartobject)
d3.select("#id2").data(data).call(chartobject)
我的问题在这里,如果我想在施工后单独update the height of the chart or change any color properties
svg#id2
,我该怎么办?可能吗?我不想在这里重建。我只是想更新图表的颜色!!
如果我在这里做错了,请纠正我。
答案 0 :(得分:0)
调用图表时,需要两个不同的图表对象。可以通过在dpois(0.5, lambda = 2)
#[1] 0
#Warning message:
#In dpois(0.5, lambda = 2) : non-integer x = 0.500000
下声明sum(dpois(0:1000000, lambda = 2))
#[1] 1
和.height()
来更新高度和宽度
.width()