스타일 기본 설정법
series를 정의하는 변수와 같은 구조로 styles.series 에 설정
var styles = { 메인KEY: { series: { 메인시리즈KEY: { /* ... */ } } }, 서브KEY: { series: { 서브시리즈KEY: { /* ... */ } } } }; var series = { 메인KEY: { 메인시리즈KEY: {series: 사용할 시리즈 종류, xaxis: X축 데이터 KEY NAME, yaxis: Y축 데이터 KEY NAME} }, 서브KEY: { 서브시리즈KEY: {series: 사용할 시리즈 종류, xaxis: X축 데이터 KEY NAME, yaxis: Y축 데이터 KEY NAME} } };
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>CHART01</title> <script type="text/javascript" src="../../../svg/comm/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="../../../svg/comm/raphael.js"></script> <script type="text/javascript" src="../../../svg/comm/webponent.comm.common.js"></script> <script type="text/javascript" src="../../../svg/chart/webponent.chart.js"></script> <style type="text/css"> .chart01 {width: 100%; height: 400px;} </style> <script type="text/javascript"> window.onload = function(){ var options = { data: { data: [ { Date: '20140101', Mprc: 10000 }, { Date: '20140102', Mprc: 20000 }, { Date: '20140103', Mprc: 15000 }, { Date: '20140104', Mprc: 30000 }, { Date: '20140105', Mprc: 5000 } ] }, format: { xAxis: function(_str){ return _str.substr(0, 4)+'/'+_str.substr(4,2)+'/'+_str.substr(6,2); } }, use: { animate: true, aCrossLine: true } }; var styles = { main: { graph: { color: '#fafafa' }, yAxis: { text: { align: 'right' } }, series: { s1: { line: { normal: { color: 'blue', width: 2, opacity: 0.5, over: { color: 'blue', width: 2, opacity: 1 } } } } } } }; var series = { "main": { "s1": {series: 'line', xaxis: 'Date', yaxis: 'Mprc'} } }; var chart = webponent.chart.init($('.chart01'), options, styles, series); }; </script> </head> <body> <div class="chart01"></div> </body> </html>
var defaultStyles = { layout: { // SVG 전체에 대한 스타일 paddingTop: 10, // 상단 padding paddingRight: 10, // 우측 padding paddingBottom: 10, // 하단 padding paddingLeft: 10, // 좌측 padding color: '#fff', // SVG 배경 색상 line: { color: '', width: 0 } // SVG 테두리 색상과 두께 }, graph: { // 차트시리즈가 그려지는 배경 스타일 color: '#fff', // 차트시리즈가 그려지는 배경 색상 paddingTop: 0, // 상단 padding paddingRight: 10, // 우측 padding paddingBottom: 0, // 하단 padding paddingLeft: 10, // 좌측 padding line: { // 차트시리즈가 그려지는 배경의 테두리 top: { color: '#ddd', width: 1, opacity: 1 }, // 테두리 중 상단 색상, 두께, 투명도(0~1) left: { color: '#ddd', width: 1, opacity: 1 }, // 테두리 중 우측 색상, 두께, 투명도(0~1) right: { color: '#ddd', width: 1, opacity: 1 }, // 테두리 중 하단 색상, 두께, 투명도(0~1) bottom: { color: '#ddd', width: 1, opacity: 1 } // 테두리 중 좌측 색상, 두께, 투명도(0~1) } }, yAxis: { // Y축 스타일 width: 60, // label width position: 'left', // Y축 위치(left || right) paddgLeft: 10, // label의 좌측 padding paddingRight: 10, // label의 우측 padding baseAtZero: false, // true이면 Y축은 0부터 시작 maxNumber: null, // Y축의 최대값 고정 minNumber: null, // Y축의 최소값 고정 fit: false, // Y축 값의 소수점 포함 여부 useValue: { // 맨 저값과 고값의 텍스트 출력 여부 min: false, max: false }, text: { // Y축 텍스트 스타일 family: 'dotum', // 글꼴 종류 size: 11, // 글꼴 크기 color: '#aaa', // 글꼴 색상 align: 'left', // 텍스트 정렬(left || right || center) style: 'normal', // 글꼴 모양( bold || Italic ) opacity: 1 // 글꼴 투명도 }, line: { // Y축 GRID LINE 스타일 color: '#eee', // 선 색상 width: 1, // 선 두께(0 ~) opacity: 1 // 선 투명도(0~1) } }, xAxis: { // X축 스타일 height: 20, // label height paddingTop: 10, // label의 상단 padding betweenLabels: false, // 텍스트와 텍스트 사이에 GridLine을 위치시키고 싶을 경우 true gap: 10, // 텍스트와 텍스트 사이의 간격 baseAtStart: false, // 시리즈가 그려지는 영역에 여백없이 그려지고 싶을 때 true useValue: { // 맨 마지막 텍스트 출력 여부 last: false }, text: { // X축 텍스트 스타일 family: 'dotum', // 글꼴 종류 size: 11, // 글꼴 크기 color: '#aaa', // 글꼴 색상 align: 'center', // 텍스트 정렬(left || right || center) style: 'normal', // 글꼴 모양(normal || bold || Italic ) opacity: 1 // 글꼴 투명도 }, line: { // X축 GRID LINE 스타일 color: '#eee', // 선 색상 width: 1, // 선 두께(0 ~) opacity: 1 // 선 투명도(0~1) } }, crossLine: { // 마우스를 따라다니는 선 스타일 color: '#999', // 선 색상 width: 1, // 선 두께 opacity: 1, // 선 투명도 style: ' ' // 선 모양 ["", "-", ".", "-.", "-..", ". ", "- ", "--", "- .", "--.", "--.."] }, tip: { // 툴팁 스타일 className: null, // 툴팁에 매칭시킬 class명이 있는 경우 입력 // className이 없을 경우 하단의 스타일이 적용 됨. color: '#fff', // 툴팁 배경 paddingTop: 5, // 상단 padding paddingBottom: 5, // 하단 padding paddingLeft: 5, // 좌측 padding paddingRight: 5, // 우측 padding line: { // 툴팁 테두리 색상, 두께, 선 종류(solid, dotted...css의 border 속성) color: '#000', width: 1, style: 'solid' }, text: { // 툴팁 글꼴 색상, 종류, 모양(normal || bold || Italic), 크기 color: '#000', family: 'dotum', style: 'normal', size: 12 } } };
SVG 전체 영역 스타일
SVG 전체 영역의 상단 여백
value | number | 0 부터 |
SVG 전체 영역의 우측 여백
value | number | 0 부터 |
SVG 전체 영역의 하단 여백
value | number | 0 부터 |
SVG 전체 영역의 좌측 여백
value | number | 0 부터 |
SVG 전체 영역의 배경 색상
value | string | 영문 컬러명, RGB 값 |
SVG 전체 영역의 배경 투명도
value | number | 0부터 1까지의 소수점 값 |
SVG 전체 영역의 테두리 색상 (default는 표현되지 않게 '' 처리)
value | string | 영문 컬러명, RGB 값 |
SVG 전체 영역의 테두리 두께 (default는 표현되지 않게 0 처리)
value | number | 선의 두께 0 ~ |
var styles = { layout: { paddingTop: 10, paddingRight: 10, paddingBottom: 10, paddingLeft: 10, color: 'white', line: { color: '#afafaf', widht: '1' } }, series: { s1: {} } }
SERIES가 그려지는 영역 스타일
Series가 그려지는 영역의 상단 여백
value | number | 0 부터 |
Series가 그려지는 영역의 우측 여백
value | number | 0 부터 |
Series가 그려지는 영역의 하단 여백
value | number | 0 부터 |
Series가 그려지는 영역의 좌측 여백
value | number | 0 부터 |
Series가 그려지는 영역의 배경 색상
value | string | 영문 컬러명, RGB 값 |
Series가 그려지는 영역의 배경 투명도
value | number | 0부터 1까지의 소수점 값 |
Series가 그려지는 영역의 테두리 설정(상, 하, 좌, 우 각각 따로 지정)
default | type | 설명 | ||||
---|---|---|---|---|---|---|
graph | line | top | color | '#ddd' | string | 상단 선 색상( 영문 색상명 또는 RGB값 ) |
width | 1 | number | 상단 선 두께 (0 ~ ) | |||
opacity | 1 | number | 상단 선 투명도 (0 ~ 1) | |||
left | color | '#ddd' | string | 좌측 선 색상( 영문 색상명 또는 RGB값 ) | ||
width | 1 | number | 좌측 선 두께 (0 ~ ) | |||
opacity | 1 | number | 좌측 선 투명도 (0 ~ 1) | |||
right | color | '#ddd' | string | 우측 선 색상( 영문 색상명 또는 RGB값 ) | ||
width | 1 | number | 우측 선 두께 (0 ~ ) | |||
over | 1 | number | 우측 선 투명도 (0 ~ 1) | |||
bottom | color | '#ddd' | string | 하단 선 색상( 영문 색상명 또는 RGB값 ) | ||
width | 1 | number | 하단 선 두께 (0 ~ ) | |||
opacity | 1 | number | 하단 선 투명도 (0 ~ 1) |
var styles = { graph: { paddingTop: 0, paddingRight: 10, paddingBottom: 0, paddingLeft: 10, color: 'white', line: { top: {color: '#ddd', width: 1, opacity: 1}, left: {color: '#ddd', width: 1, opacity: 1}, right: {color: '#ddd', width: 1, opacity: 1}, bottom: {color: '#ddd', width: 1, opacity: 1} } }, series: { s1: {} } }
Y축 스타일
Y축 label의 넓이
value | number | 0 부터 |
Y축 label의 위치(Series가 그려지는 영역을 기준으로 좌, 우)
value | string | left, right |
Y축 label 영역의 좌측 여백
value | number | 0 부터 |
Y축 label 영역의 우측 여백
value | number | 0 부터 |
false 인 경우 Y축은 최소값을 기준으로 표현되며,
true 인 경우 Y축은 0을 기준으로 한다.
value | boolean | false , true |
Y축의 최소값을 지정하고 싶을때 숫자값을 입력한다.
value | number | null 혹은 숫자 |
Y축의 최대값을 지정하고 싶을때 숫자값을 입력한다.
value | number | null 혹은 숫자 |
Y축의 Interval을 소수점 단위까지 보여주고 싶을때 사용한다. false 이면 1단위(Default)로 interval 된다.
options의 format.yAxis와는 다른 것으로 주로 Y축의 최대값과 최소값의 차이가 0보다 크고 5 미만이고 Y축 inverval의 간격을 여과없이 보여주고자 할때 사용한다.
value | Boolean | false , true |
Y축에서 제일 처음값과 제일 마지막값은 출력되지 않는다. true 로 변경시 출력됨.
default | type | 설명 | |||
---|---|---|---|---|---|
yAxis | useValue | min | false | boolean | 제일 처음 값 출력 여부 |
max | false | boolean | 제일 마지막 값 출력 여부 |
Y축 글꼴 스타일 설정
default | type | 설명 | |||
---|---|---|---|---|---|
yAxis | text | family | 'dotum' | string | 글꼴 종류 이름(영문명) |
size | 12 | number | 글꼴 크기(px 단위) | ||
color | '#aaa' | string | 글꼴 색상(영문 색상명 혹은 RGB값) | ||
align | 'left' | string | label width 내에서의 텍스트 위치['left', 'right', 'center'] | ||
style | 'normal' | string | 글꼴 모양['normal', 'bold', 'italic'] | ||
opacity | 1 | number | 글꼴 투명도 (0~1) |
Y축 텍스트와 같은 위치로 Series를 그리는 영역을 지나는 Horizontal Grid Line 스타일 설정
default | type | 설명 | |||
---|---|---|---|---|---|
yAxis | line | color | '#eee' | string | 선 색상 (영문컬러명이나 RGB값 입력) |
width | 1 | number | 선 두께 (0 ~ ) | ||
opacity | 1 | number | 선 투명도 (0~1) |
var styles = { yAxis: { width: 60, position: 'left', paddingRight: 10, paddingLeft: 10, baseAtZero: false, useValue: { min: false, min: false }, text: { family: 'dotum', size: 11, color: '#aaa', align: 'left', style: 'normal', opacity: 1 }, line: { color: '#eee', width: 1, opacity: 1 } }, series: { s1: {} } }
X축 스타일
X축 label의 높이
value | number | 0 부터 |
X축 텍스트와 텍스트 사이에 Vertical Grid Line을 그려주고 싶을 경우 true
value | boolean | [ false, true ] |
X축 label 영역의 상단 여백
value | number | 0 부터 |
X축 텍스트와 텍스트 사이의 간격
value | number | 0 부터 |
false 인 경우 Series 및 X축 텍스트는 각 넓이의 중간에서 부터 시작하며
true 인 경우 Series 및 X축 텍스트는 Series가 그려지는 영역의 여백없이 그려진다.
value | boolean | false , true |
X축에서 출력되는 텍스트 관련
default | type | 설명 | |||
---|---|---|---|---|---|
xAxis | useValue | all | false | boolean | X축 텍스트 전부 출력(겹쳐지는 경우 전 텍스트보다 밑으로 출력됨) |
first | true | boolean | 제일 첫번째 값 출력 여부 | ||
last | false | boolean | 제일 마지막 값 출력 여부 |
X축 글꼴 스타일 설정
default | type | 설명 | |||
---|---|---|---|---|---|
xAxis | text | family | 'dotum' | string | 글꼴 종류 이름(영문명) |
size | 12 | number | 글꼴 크기(px 단위) | ||
color | '#aaa' | string | 글꼴 색상(영문 색상명 혹은 RGB값) | ||
align | 'left' | string | label width 내에서의 텍스트 위치['left', 'right', 'center'] | ||
style | 'normal' | string | 글꼴 모양['normal', 'bold', 'italic'] | ||
opacity | 1 | number | 글꼴 투명도 (0~1) |
X축 텍스트와 같은 위치로 Series를 그리는 영역을 지나는 Vertical Grid Line 스타일 설정
default | type | 설명 | |||
---|---|---|---|---|---|
xAxis | line | color | '#eee' | string | 선 색상 (영문컬러명이나 RGB값 입력) |
width | 1 | number | 선 두께 (0 ~ ) | ||
opacity | 1 | number | 선 투명도 (0~1) |
var styles = { xAxis: { height: 20, betweenLabels: false, gap: 10, paddingTop: 10, baseAtStart: false, useValue: { last: false }, text: { family: 'dotum', size: 11, color: '#aaa', align: 'left', style: 'normal', opacity: 1 }, line: { color: '#eee', width: 1, opacity: 1 } }, series: { s1: {} } }
마우스를 따라다니는 선 설정
선 색상
value | string | 영문컬러명이나 RGB값 |
선 두께
value | number | 0 부터 |
선 투명도
value | number | 0 부터 |
선 투명도
value | string | [“ ”, “-”, “.”, “-.”, “-..”, “. ”, “- ”, “--”, “- .”, “--.”, “--..”] |
var styles = { crossLine: { color: '#999', width: 1, opacity: 1, style: '-.' }, series: { s1: {} } }
툴팁 설정(툴팁은 DIV로 생성됨)
외부 css의 클래스를 적용시키고 싶을 경우 className 적용
className이 null 이 아닌경우 tip의 다른 스타일 설정은 모두 무시한다.
value | string | css className |
툴팁 배경 색상
value | string | 영문컬러명이나 RGB값 |
툴팁 배경 상단과 텍스트 사이의 여백
value | number | 0 부터 |
툴팁 배경 하단과 텍스트 사이의 여백
value | number | 0 부터 |
툴팁 배경 좌측과 텍스트 사이의 여백
value | number | 0 부터 |
툴팁 배경 좌측과 텍스트 사이의 여백
value | number | 0 부터 |
툴팁 글꼴 스타일 설정
default | type | 설명 | |||
---|---|---|---|---|---|
tip | text | family | 'dotum' | string | 글꼴 종류 이름(영문명) |
size | 11 | number | 글꼴 크기(px 단위) | ||
color | '#000' | string | 글꼴 색상(영문 색상명 혹은 RGB값) | ||
style | 'normal' | string | 글꼴 모양['normal', 'bold', 'italic'] |
툴팁 border Style
default | type | 설명 | |||
---|---|---|---|---|---|
tip | line | color | '#000' | string | 선 색상 (영문컬러명이나 RGB값 입력) |
width | 1 | number | 선 두께 (0 ~ ) | ||
style | 'solid' | string | 선 종류(solid, dotted...css의 border-style 속성) |
var styles = { tip: { className: null, color: '#fff', paddingTop: 5, paddingBottom: 5, paddingLeft: 5, paddingRight: 5, line: { color: '#000', width: 1, style: 'solid' }, text: { color: '#000', family: 'dotum', style: 'normal', size: 12 } }, series: { s1: {} } }