Chart.js plugins을 사용하면 매우 쉽게 할 수 있습니다. 당신은 몇 가지 이벤트를 처리 할 수있는 플러그인은 내가 당신의 문제에 대한 도움이 될 수있는 플러그인을 추가 할 수 있지만 먼저 설명해 드리겠습니다
Chart.pluginService.register({
beforeInit: function(chart) {
// All the code added here will be executed before the chart initialization
}
});
등 초기화, 크기 조정,로 차트 생성을 통해 트리거 어떻게 작동하는지.
먼저 데이터 세트에 function
이라는 새 속성을 추가해야합니다.
var data = {
labels: [1, 2, 3, 4, 5],
datasets: [{
label: "f(x) = x", // Name it as you want
function: function(x) { return x },
data: [], // Don't forget to add an empty data array, or else it will break
borderColor: "rgba(75, 192, 192, 1)",
fill: false
},
{
label: "f(x) = x²",
function: function(x) { return x*x },
data: [],
borderColor: "rgba(153, 102, 255, 1)",
fill: false
}]
}
지금 당신은 당신이 new Chart()
전화 전에 플러그인 다음 (이 차트을 만들 수) 추가해야합니다 그렇지 않으면이되지 않습니다 :이 값은 하나 개의 인자를 가진 기능과 반환 값이어야합니다 차트의 플러그인 서비스에 추가되었습니다.
Chart.pluginService.register({
beforeInit: function(chart) {
// We get the chart data
var data = chart.config.data;
// For every dataset ...
for (var i = 0; i < data.datasets.length; i++) {
// For every label ...
for (var j = 0; j < data.labels.length; j++) {
// We get the dataset's function and calculate the value
var fct = data.datasets[i].function,
x = data.labels[j],
y = fct(x);
// Then we add the value to the dataset data
data.datasets[i].data.push(y);
}
}
}
});
이제 원하는 옵션으로 차트를 자유롭게 만들 수 있습니다.
어려움은 무엇입니까 :
는 on this jsFiddle을 찾을 수있는 완전히 동작하는 예제의 결과를 따릅니다? 너 뭐 해봤 니? – jcaron
@ jcaron 어려움? 네가 무엇을 요구하는지 이해가 안되니? 나는 아무 것도 시도하지 않았고 가능한지 물어 본다. – durisvk
왜 그럴까? x의 각 값에 대한 각 함수의 값을 계산하는 것입니다. – jcaron