Я пытаюсь использовать C3.js (c3js.org) для создания диаграмм, но я хочу указать все, кроме данных (и любых других незначительных отклонений, уникальных для этой диаграммы), то повторно используйте это для всех диаграмм этого варианта (конкретная конфигурация диаграммы).Как сделать таблицы многократного использования/шаблонов в c3js
Вся документация и все примеры, которые я нашел для C3.js, касаются только того, как вы делаете единый график. Применение этого к множеству диаграмм означает много повторяющегося кода и не обеспечивает согласованности при внесении изменений.
Единственное, что связано с этим, которое я нашел, это concept on making reusable charts в D3.js (d3js.org), лежащей в основе библиотеки, используемой C3.js, и implementation, вдохновленной этой концепцией. Это не очень помогает мне, потому что я хочу, чтобы абстракция более высокого уровня была доступна C3.js, но это может дать вам представление о том, что я ищу.
Я не нашел информации об этом, но одна идея состоит в том, чтобы создать тип диаграммы, основанный на существующем типе, но также включающий дополнительную конфигурацию (например, создать новый тип диаграммы, называемый «горизонтальным баром» на основе существующих тип диаграммы «бар»).
Вот диаграмма, которую я сделал, bindto
и columns
являются уникальными частями этой диаграммы, остальное должно быть частью шаблона, но я не знаю как.
var chart = c3.generate({
bindto: '#chart',
data: {
columns: [
['data1', 125.2],
['data2', 282.7],
['data3', 3211.1],
['data4', 212.2],
['data5', 131.1],
['data6', 329.7]
],
type: 'pie',
order: null
},
pie: {
label: {
format: function (value, ratio, id) {
return d3.format('.1f')(ratio*100)+'%'; //percent with one decimal
}
}
},
tooltip: {
format: {
value: function (value, ratio, id, index) {
return value+'mkr ('+d3.format('.1f')(ratio*100)+'%)'; //example: 155.2mkr (3.3%)
}
}
},
legend: {
item: {
onclick: function() {} //disable clicking to hide/show parts of the chart
}
}
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.9/c3.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.9/c3.min.js"></script>
<div id="chart"></div>
Почему вы не можете сохранить диаграмму в качестве шаблона. Вот что я сделал. Если я хочу, чтобы он был подобен шаблону, я скопировал диаграмму в новую папку, давал ей новое имя, вставлял новые данные, и все. CSS, все уже сделано. – JasTonAChair