[]
OHLC 데이터 차트(시가–고가–저가–종가)는 특정 기간 동안 자산의 가격 변동을 나타내는 전문적인 데이터 시각화 기능입니다. 일간, 주간, 월간 추세를 관찰하기 위해 금융 및 주식 시장 애플리케이션에서 널리 사용됩니다.

OHLC 차트의 각 막대는 네 가지 가격 정보를 표시합니다:
시가(Open) – 구간 시작 시점의 초기 가격
고가(High) – 구간 동안 달성한 최고 가격
저가(Low) – 구간 동안 도달한 최저 가격
종가(Close) – 구간 종료 시점의 최종 가격
OHLC 차트를 통해 사용자는 가격 변동을 시각화하고, 시장 패턴을 식별하며, 거래 성과를 분석할 수 있습니다.
지원 값: OHLC 차트는 데이터 포인트당 3개 또는 4개의 숫자 값을 허용합니다.
4‑값 모드: [open, high, low, close]
3‑값 모드: [high, low, close]
집계(Aggregation): OHLC 값에는 집계 함수를 사용할 수 없습니다.
시가(Open): 시리즈의 첫 번째 값을 사용
고가(High): 최대 값을 나타냄
저가(Low): 최소 값을 나타냄
종가(Close): 마지막 값을 사용
호버 애니메이션은 지원되지 않습니다.
차트는 유효하고 형식이 올바른 입력 데이터를 가정합니다.
사용자 정의 데이터셋에서 두 개의 주식형 데이터 차트(OHLC와 HLC)를 생성합니다.
const sheet = spread.getActiveSheet();
sheet.name("OHLC Chart");
const dataManager = spread.dataManager();
function createStockTable(dataManager) {
return dataManager.addTable("Stock", {
data: [
{
date: "2025-09-01",
open: 105,
high: 120,
low: 95,
close: 115,
},
{
date: "2025-09-02",
open: 115,
high: 125,
low: 110,
close: 120,
},
{
date: "2025-09-03",
open: 120,
high: 125,
low: 110,
close: 115,
},
{
date: "2025-09-04",
open: 115,
high: 118,
low: 108,
close: 110,
},
{
date: "2025-09-05",
open: 110,
high: 115,
low: 105,
close: 108,
},
{
date: "2025-09-08",
open: 110,
high: 130,
low: 110,
close: 128,
},
{
date: "2025-09-09",
open: 128,
high: 133,
low: 125,
close: 132,
},
{
date: "2025-09-10",
open: 132,
high: 135,
low: 130,
close: 134,
},
{
date: "2025-09-11",
open: 134,
high: 135,
low: 125,
close: 128,
},
{
date: "2025-09-12",
open: 128,
high: 130,
low: 120,
close: 122,
},
],
});
}
const StockTable = createStockTable(dataManager);
await StockTable.fetch();
// OHLC 데이터 차트 생성
const dataChart1 = sheet.dataCharts.add('data-chart1', 10, 10, 600, 400);
const dataChart2 = sheet.dataCharts.add('data-chart2', 10, 420, 600, 400);
dataChart1.setChartConfig({
tableName: 'Stock',
plots: [
{
type: GC.Spread.Sheets.DataCharts.DataChartType.ohlc,
encodings: {
values: [
{ field: 'open' },
{ field: 'high' },
{ field: 'low' },
{ field: 'close' },
],
category: { field: 'date' },
},
}
],
config: {
header: {
title: "일일 주식 가격 – OHLC (4‑값 모드)",
padding: {
left: 10,
right: 10,
top: 10,
bottom: 10,
},
textStyle: {
color: 'black',
fontSize: 18
}
}
}
});
dataChart2.setChartConfig({
tableName: 'Stock',
plots: [
{
type: GC.Spread.Sheets.DataCharts.DataChartType.ohlc,
encodings: {
values: [
{ field: 'high' },
{ field: 'low' },
{ field: 'close' },
],
category: { field: 'date' },
},
config: {
palette: ['#FFB74D'],
tooltip: [{
style: {
fill: { type: 'CssColor', color: '#ffffff' },
stroke: { type: 'CssColor', color: '#e0e0e0' },
strokeWidth: 1,
},
textStyle: {
fontFamily: 'Calibri',
fontSize: 12,
fontWeight: 'Lighter',
fontStyle: GC.Spread.Sheets.DataCharts.FontStyle.italic,
color: '#333333',
},
}]
},
}
],
config: {
dvStyle: {
fill: { type: 'CssColor', color: '#0f2233' },
},
header: {
title: "일일 주식 가격 – HLC (3‑값 모드)",
padding: {
left: 10,
right: 10,
top: 10,
bottom: 10,
},
textStyle: {
color: '#D7E3F4',
fontSize: 18
}
}
}
});