κ°€μ΄λ“œ
Data

Data

μ°¨νŠΈμ— ν‘œμ‹œν•  λ°μ΄ν„°λŠ” μ‹œλ¦¬μ¦ˆμ˜ data 속성에 κ°’ λͺ©λ‘μ„ μ„€μ •ν•΄μ„œ μ—°κ²°ν•œλ‹€. 값듀은 μ—¬λŸ¬ λ°©μ‹μ˜ 배열을 직접 μ§€μ •ν•˜κ±°λ‚˜ Chart Data 객체λ₯Ό 톡해 κ°„μ ‘ μ§€μ •ν•œλ‹€. 직접 μ§€μ •ν•˜λŠ” 경우 μ‹œλ¦¬μ¦ˆ μ’…λ₯˜μ— 따라 λ°°μ—΄ ν•­λͺ©μ˜ ꡬ성이 λ‹¬λΌμ§€κ²Œ λœλ‹€.

Yκ°’ λ°°μ—΄

bar μ‹œλ¦¬μ¦ˆμ™€ 같은 λ‹¨μˆœ μ‹œλ¦¬μ¦ˆμ˜ 경우, λ°μ΄ν„°ν¬μΈνŠΈλ§ˆλ‹€ x, y 두 값이 ν•„μš”ν•œλ° λŒ€κ°œμ˜ 경우 x 값은 μžλ™μœΌλ‘œ κ²°μ •λ˜λ―€λ‘œ, yκ°’λ“€λ§Œ 지정해도 λ˜λŠ” κ²½μš°κ°€ ν”ν•˜λ‹€.

const config = {
    series: {
        type: 'bar',
        data: [155, 138, 122, 133, 114, 113]
    }
}

λ¬Όλ‘  x값을 λͺ…μ‹œμ μœΌλ‘œ 지정할 μˆ˜λ„ μžˆλ‹€. x값은 μ‹œλ¦¬μ¦ˆκ°€ category 좕에 μ—°κ²°λœ 경우 caregory μ΄λ¦„μœΌλ‘œλ„ μ‚¬μš©λ  수 μžˆλ„λ‘ λ¬Έμžμ—΄λ‘œ 지정이 κ°€λŠ₯ν•˜λ©° μˆœμ„œλŒ€λ‘œ 0λΆ€ν„° μ‹œμž‘ν•˜λŠ” 값을 κ°–κ²Œλœλ‹€.

const config = {
    series: {
        type: 'bar',
        data: [
            ['abc', 155], 
            ['def', 138]
            ['xyz', 114], 
        ]
    }
}

category좕을 ν¬ν•¨ν•΄μ„œ linear, log μΆ•μ˜ x 값은 숫자둜 μ§€μ •ν•˜κ³ , time μΆ•μ˜ 경우 Date 객체λ₯Ό 직접 지정할 수 μžˆλ‹€. time 좕에 숫자둜 μ§€μ •ν•˜λŠ” 경우 1970.01.01 이 ν›„μ˜ λ°€λ¦¬μ΄ˆλ‘œ κ°„μ£Όν•œλ‹€.

const config = {
    series: {
        type: 'bar',
        data: [
            [0, 155], 
            [1, 138]
            [2, 114], 
        ]
    }
}

λ³΅μˆ˜κ°’ 및 Json λ°°μ—΄

candlestcik μ‹œλ¦¬μ¦ˆμ™€ 같이 λ°μ΄ν„°ν¬μΈνŠΈ λ³„λ‘œ μ—¬λŸ¬κ°œμ˜ 값이 ν•„μš”ν•œ 경우, μ‹œλ¦¬μ¦ˆ μ’…λ₯˜λ³„λ‘œ κ°’ 배치 방식이 ν•΄λ‹Ή μ„€μ • λ¬Έμ„œμ— μ„€λͺ…λ˜μ–΄ μžˆλ‹€. candlestick의 경우,

단일 κ°’ 및 κ°’ λ°°μ—΄
ν˜•μ‹μ„€λͺ…
y단일 숫자면 low, yκ°’. x 값은 μˆœμ„œμ— 따라 μžλ™ κ²°μ •.
[]빈 배열이면 null. x 값은 μˆœμ„œμ— 따라 μžλ™ κ²°μ •.
[min, low, mid, highy]
[x, min, low, mid, highy]
json λ°°μ—΄
Series 속성섀λͺ…
xField속성 κ°’, λ˜λŠ” 'x', 'name', 'label' 속성듀 쀑 μˆœμ„œλŒ€λ‘œ 값이 μ„€μ •λœ 것이 x 값이 λœλ‹€.
lowField속성 κ°’, λ˜λŠ” 'low' 속성 값이 low 값이 λœλ‹€.
openField속성 κ°’, λ˜λŠ” 'open' 속성 값이 open 값이 λœλ‹€.
closeField속성 κ°’, λ˜λŠ” 'mid' 속성 값이 close 값이 λœλ‹€.
highField속성 κ°’, λ˜λŠ” 'high' 속성 값이 high 값이 λœλ‹€. μ§€μ •ν•˜μ§€ μ•ŠμœΌλ©΄ yField 값이 μ‚¬μš©λœλ‹€.
yField속성 κ°’, λ˜λŠ” 'y', 'value' 속성듀 쀑 μˆœμ„œλŒ€λ‘œ 값이 μ„€μ •λœ 것이 y 값이 λœλ‹€.
colorField속성 κ°’, λ˜λŠ” 'color' 속성 κ°’μœΌλ‘œ λ°μ΄ν„°ν¬μΈνŠΈμ˜ κ°œλ³„ μƒ‰μƒμœΌλ‘œ μ§€μ •λœλ‹€.

λ³΅μˆ˜κ°’μΌ λ•Œ κ°’μ˜ μˆ˜μ— μ£Όμ˜ν•΄μ•Ό ν•˜λ©°, 특히 json 객체둜 ν•­λͺ©μ„ μ§€μ •ν•˜λŠ” 경우 μ‹œλ¦¬μ¦ˆλ³„λ‘œ μ§€μ •λœ κΈ°λ³Έ 속성 이름듀과 λ‹€λ₯Έ 경우 λ°˜λ“œμ‹œ 값에 ν•΄λ‹Ήν•˜λŠ” ν•„λ“œλͺ…을 지정해 μ€˜μ•Ό ν•œλ‹€.

const config = {
    series: {
        openField: 'openPrc',
        lowField: 'lowPrc',
        highField: 'highPrc',
        closeField: 'closePrc',
        data: [
            {
                openProc: 234,
                lowPrc: 123,
                highPrc: 456
                closeProc: 345,
            },
            ...
        ]
    }
}

RcChartData

μ‹œλ¦¬μ¦ˆ μ„€μ •μ˜ data 속성에 κ°’ λͺ©λ‘μ„ 직접 μ§€μ •ν•˜λŠ” λŒ€μ‹ , 데이터λ₯Ό μ €μž₯ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” μ™ΈλΆ€ 객체λ₯Ό μ—°κ²°ν•΄μ„œ κ·Έ 객체가 가지고 μžˆλŠ” 데이터λ₯Ό ν‘œμ‹œν•  수 μžˆλŠ”λ°, RealChart.createData ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄μ„œ RcChartData 객체λ₯Ό μƒμ„±ν•˜κ³ , μ‹œλ¦¬μ¦ˆμ˜ data 속성에 μ„€μ •ν•  수 μžˆλ‹€.

const data = RealChart.createData('main', [
    ['μ‹ ν₯1동', 3904],
    ['μ‹ ν₯2동', 19796],
    ['μ‹ ν₯3동', 10995],
    ['νƒœν‰1동', 14625],
    ['νƒœν‰2동', 14627],
    ['νƒœν‰3동', 12649],
    ['νƒœν‰4동', 12279],
]);
const config = {
    series: {
        type: 'bar',
        data: data
    }
};
chart = RealChart.createChart(document, 'realchart', config);

μœ„μ™€ 같이 값듀을 λ°°μ—΄λ‘œ μ§€μ •ν•˜λ©΄ 'x', 'y', 'z' μˆœμ„œλŒ€λ‘œ ν•„λ“œκ°’μ„ κ°–λŠ” 데이터행듀이 μƒμ„±λ˜λŠ” 데, data 객체 생성 μ‹œ ν•„λ“œλͺ…을 지정해 μ£ΌλŠ” 것이 μ’‹λ‹€. 특히 3개 μ΄μƒμ˜ 값을 μ‚¬μš©ν•˜λŠ” μ‹œλ¦¬μ¦ˆλ₯Ό μœ„ν•΄μ„œλŠ” λ°˜λ“œμ‹œ ν•„λ“œ 이름듀을 지정해야 ν•œλ‹€.

const data = RealChart.createData('main', [...], {
    fields: ['x', 'y', 'z']
});
 

값듀이 json 객체둜 μ§€μ •λ˜λŠ” 경우 객체의 속성듀이 ν•„λ“œλͺ…이 λœλ‹€.

λ°μ΄ν„°ν¬μΈνŠΈ λ³€κ²½

λ°μ΄ν„°ν¬μΈνŠΈ 값은 api을 톡해 직접 λ³€κ²½ν•  수 있고, κ°’ 변경은 λ°”λ‘œ μ°¨νŠΈμ— λ°˜μ˜λœλ‹€.

const x = 'google';
const v = chart.series.getValueAt(x);
chart.series.updatePoint(x, v + 100);

RcChartSeries.getValueAt은 μ§€μ •ν•œ x값을 κ°–λŠ” 첫번째 λ°μ΄ν„°ν¬μΈνŠΈμ˜ y값을 λ¦¬ν„΄ν•œλ‹€. 이 ν›„ RcChartSeries.updatePoint 호좜둜 값을 λ³€κ²½ν•  수 μžˆλ‹€.

λ°μ΄ν„°ν¬μΈνŠΈ μΆ”κ°€/μ‚­μ œ

apiλ₯Ό 톡해 λ°μ΄ν„°ν¬μΈνŠΈ(λ“€)λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ κΈ°μ‘΄ λ°μ΄ν„°ν¬μΈνŠΈ(λ“€)λ₯Ό μ œκ±°ν•  μˆ˜λ„ μžˆλ‹€. λ°μ΄ν„°ν¬μΈνŠΈ ν•˜λ‚˜λ₯Ό μΆ”κ°€ν•˜λ €λ©΄ RcChartSeries.addPointλ₯Ό ν˜ΈμΆœν•œλ‹€.

const x = getName();
const y = getValue();
chart.series.addPoint([x, y]);

λ°μ΄ν„°ν¬μΈνŠΈ 정보λ₯Ό λ°°μ—΄λ‘œ μ§€μ •ν•˜κ³  RcChartSeries.addPointsλ₯Ό μ‚¬μš©ν•΄μ„œ 볡수개의 λ°μ΄ν„°ν¬μΈνŠΈλ₯Ό λ™μ‹œμ— μΆ”κ°€ν•  μˆ˜λ„ μžˆλ‹€.

const pts = getPoints();
chart.series.addPoints(pts);

RcChartSeries.removePoint 호좜둜 x값에 ν•΄λ‹Ήν•˜λŠ” 첫번째 λ°μ΄ν„°ν¬μΈνŠΈλ₯Ό μ‚­μ œν•  수 μžˆλ‹€.

const x = getName();
chart.series.removePoint(x);

μ‚­μ œν•  x값듀을 λ°°μ—΄λ‘œ μ§€μ •ν•΄μ„œ μ—¬λŸ¬ 데이터포인틀 ν•œκΊΌλ²ˆμ— μ œκ±°ν•  수 μžˆλ‹€.

const names = getNames();
chart.series.removePoints(names);

See Also