C3: ์™ธ๋ถ€ JSON ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์œผ๋กœ ์ฐจํŠธ ์ž‘์„ฑ

์— ๋งŒ๋“  2016๋…„ 10์›” 15์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: c3js/c3

์ด ํ›Œ๋ฅญํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์ฐจํŠธ๊ฐ€ json ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ํŒŒ์‹ฑํ•˜๋Š” ์™ธ๋ถ€ JSON ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  ์ฐจํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
๋‚ด ํ˜„์žฌ ์ฝ”๋“œ:
var chart = c3.generate({ bindto: '#chart', size: { height: 240, width: 480 }, data: { url: 'static/data/trainp.json', mimeType: 'json', keys: { x: 'Series', value: ['Setting1'] }, type: 'line' }, subchart: { show: true } });

ํ•„์ˆ˜ ์ฐจํŠธ ์˜ˆ์‹œ : https://jsfiddle.net/cy2owjva/

https://jsfiddle.net/cy2owjva/ ์—์„œ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์‚ฌํ•ญ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.
๊ฐ์‚ฌ ํ•ด์š”

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@AskSaikatSinha ์ด๊ฒƒ์„ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค
`
$(ํ•จ์ˆ˜() {

$.getJSON('./linejson.json', function (externaldata) {
var chart = c3.generate({
    title: {
        text:'External JSON loading via C3.js'
    },
    bindto: '#chart',
    data: {
       json: externaldata,
        type: 'area-spline',

    }
})

setInterval(function(){
    chart.flow({
        columns:
                [
                    ['data1',Math.round(Math.random()*200)]
                ],
        type:'area-spline'
    })
}, 1500)

});
})
`

์™ธ๋ถ€ JSON ํŒŒ์ผ์ด ์ด์™€ ๊ฐ™์ด

linejson.json ํŒŒ์ผ

{ "data1": [30, 20, 50, 40, 60, 50] }

๋ชจ๋“  3 ๋Œ“๊ธ€

@AskSaikatSinha ์ด๊ฒƒ์„ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค
`
$(ํ•จ์ˆ˜() {

$.getJSON('./linejson.json', function (externaldata) {
var chart = c3.generate({
    title: {
        text:'External JSON loading via C3.js'
    },
    bindto: '#chart',
    data: {
       json: externaldata,
        type: 'area-spline',

    }
})

setInterval(function(){
    chart.flow({
        columns:
                [
                    ['data1',Math.round(Math.random()*200)]
                ],
        type:'area-spline'
    })
}, 1500)

});
})
`

์™ธ๋ถ€ JSON ํŒŒ์ผ์ด ์ด์™€ ๊ฐ™์ด

linejson.json ํŒŒ์ผ

{ "data1": [30, 20, 50, 40, 60, 50] }

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ์—์žˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ฐจํŠธ์— ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์„ ์‹œ๋„:

var xhr = new XMLHttpRequest();
function reload(){
    //each call on this url changes the json
    xhr.open('GET', "http://127.0.0.1:5000/json/", true).send(); 
    chart.flow('http://127.0.0.1:5000/json/');
    chart.flush()
}

setInterval(reload, 500);

ํ๋ฆ„, ์ƒ์„ฑ, ๋กœ๋“œ๋ฅผ ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•  ํ•„์š” ์—†์ด ์ฐจํŠธ๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํŒ์ด ์žˆ๋‚˜์š”?

@HawiCaesar ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰