Javascript 如何在c3js中制作可重用/模板图表

Javascript 如何在c3js中制作可重用/模板图表,javascript,charts,reusability,c3,Javascript,Charts,Reusability,C3,我试图使用C3.js(c3js.org)制作图表,但我想指定除数据(以及该图表特有的任何其他微小偏差)之外的所有内容,然后将其重新用于该变化的所有图表(图表的特定配置) 我为C3.js找到的所有文档和示例都只涉及如何制作单个图表。将其应用于多个图表意味着大量重复代码,并且在进行更改时无法确保一致性 我发现的唯一与此相关的东西是D3.js(d3js.org)中的一个,C3.js使用的底层库,也是受这个概念启发的一个。这对我没有帮助,因为我想要C3.js提供的更高级别的抽象,但是这些可能会让你了解我

我试图使用C3.js(c3js.org)制作图表,但我想指定除数据(以及该图表特有的任何其他微小偏差)之外的所有内容,然后将其重新用于该变化的所有图表(图表的特定配置)

我为C3.js找到的所有文档和示例都只涉及如何制作单个图表。将其应用于多个图表意味着大量重复代码,并且在进行更改时无法确保一致性

我发现的唯一与此相关的东西是D3.js(d3js.org)中的一个,C3.js使用的底层库,也是受这个概念启发的一个。这对我没有帮助,因为我想要C3.js提供的更高级别的抽象,但是这些可能会让你了解我在寻找什么

我没有发现关于这方面的任何信息,但有一个想法是制作一个基于现有类型的图表类型,但也包括额外的配置(例如,基于现有的“条形”图表类型制作一个名为“水平条形”的新图表类型)

这是我制作的一张图表,
bindto
columns
是这个图表的独特部分,其余部分应该是模板的一部分,但我不知道如何制作

var图表=c3.generate({
bindto:'图表',
数据:{
栏目:[
[data1',125.2],
[data2',282.7],
[data3',3211.1],
[data4',212.2],
[data5',131.1],
[data6',329.7]
],
键入“pie”,
订单:空
},
馅饼:{
标签:{
格式:函数(值、比率、id){
返回d3.format('.1f')(比率*100)+'%';//带小数点的百分比
}
}
},
工具提示:{
格式:{
值:函数(值、比率、id、索引){
返回值+'mkr('+d3.format('.1f')(比率*100)+'%)';//示例:155.2mkr(3.3%)
} 
}
},
图例:{
项目:{
onclick:function(){}//禁用单击以隐藏/显示部分图表
}
}
});

我的html中有:

<script src="../static/js/test.js"></script> <!-- this is the js file contains the drawChart function --> 

<div class='chart'>
    <div id='chart1'></div>
</div>
<script>drawChart('chart1','pathToCsvData',ture, 200);</script>

js代码作为一个模板,我可以根据需要使用任意多个不同的模板,将它们放入函数中,使用自定义的图表参数,并在html代码中调用js函数

为什么不能将图表另存为模板。我就是这么做的。如果我想要一个像我制作的模板一样的图表,我会将图表复制到一个新文件夹中,给它一个新名称,放入新数据,就这样。CSS,一切都已经完成了。
function drawChart(toChart,dataURL,showLegend,chartHeight)
{   
    var chart1 = c3.generate({
        bindto: toChart,
        data: {
            url: dataURL,
            labels: false
        },
        color: {pattern: ['green','black']},
        zoom: {enabled: false},
        size: {height: chartHeight},
        transition: {duration: 0},
        legend: {show: showLegend}
    });
}