var _multibar2 = { example : [ { name: "예제1", description: "예제1 설명", sample: { "data": [ {"city": "서울", "all": 4.9, "quarter": 4.6, "quarter_rank": 1, "all_rank": 1}, {"city": "부산", "all": 4.7, "quarter": 4.1, "quarter_rank": 2, "all_rank": 2}, {"city": "제주도", "all": 4.0, "quarter": 3.9, "quarter_rank": 3, "all_rank": 3}, {"city": "인천", "all": 2.8, "quarter": 3.0, "quarter_rank": 4, "all_rank": 4}, {"city": "여수시\n(전남)", "all": 2.3, "quarter": 3.0, "quarter_rank": 5, "all_rank": 7}, {"city": "경주시\n(경북)", "all": 2.5, "quarter": 2.7, "quarter_rank": 6, "all_rank": 6}, {"city": "거제시\n(경남)", "all": 1.9, "quarter": 2.3, "quarter_rank": 7, "all_rank": 8}, {"city": "용인시\n(경기)", "all": 1.6, "quarter": 2.1, "quarter_rank": 8, "all_rank": 11}, {"city": "통영시\n(경남)", "all": 1.6, "quarter": 1.9, "quarter_rank": 9, "all_rank": 12}, {"city": "속초시\n(강원)", "all": 2.7, "quarter": 1.9, "quarter_rank": 10, "all_rank": 5}, {"city": "전주시\n(전북)", "all": 1.0, "quarter": 1.0, "quarter_rank": 25, "all_rank": 26} ], "visible": true, "type": "multibarchart2", "id": "test.multibarchart2.chart", "options": { "xlsx": true, "y_name": "관광객 비중", "precision": 1, "value_unit": "%", "values": [ {"field": "quarter", "name": "2017년 2분기", "top_label": "분기", "bold": true}, {"field": "all", "name": "전체기간", "top_label": "전체", "bold": false} ], "name": "city", "title": "지역별 관광객 비중", "highlight": ["전주시\n(전북)"] } } }, { name: "예제2", description: "예제2 설명", sample: { "visible": true, "type": "multibarchart2", "id": "test.multibarchart2.chart", "options": { "xlsx": true, "name": "city", "title": "지역별 관광객 비중", "y_name": "관광객 비중", "precision": 1, "x_font_size": 5, 'x_rotate': 35, "value_unit": "%", "values": [ {"field": "quarter", "name": "2017년 2분기", "top_label": "분기"}, {"field": "all", "name": "전체기간", "top_label": "전체"} ] }, "data": [ {"city": "서울", "all": 4.9, "quarter": 4.6, "quarter_rank": 1, "all_rank": 1}, {"city": "부산", "all": 4.7, "quarter": 4.1, "quarter_rank": 2, "all_rank": 2}, {"city": "제주도", "all": 4.0, "quarter": 3.9, "quarter_rank": 3, "all_rank": 3}, {"city": "인천", "all": 2.8, "quarter": 3.0, "quarter_rank": 4, "all_rank": 4}, {"city": "여수시\n(전남)", "all": 2.3, "quarter": 3.0, "quarter_rank": 5, "all_rank": 7}, {"city": "경주시\n(경북)", "all": 2.5, "quarter": 2.7, "quarter_rank": 6, "all_rank": 6} ] } } ], defaultOption : { "title": null, "xlsx": true, "show_legend": true, "legend_position": "bottom", 'x_font_size': 12, 'x_rotate': 0, "precision": 0, "percent_precision": 2, "value_unit": null, // 필요한 경우 $, % 등을 붙일 수 있음 "colors": RenderUtil.color_table_light, "color_table_name": null, "height": 0 // 강제 조정 안 함 }, validate : function(unit) { var options = unit.options; if (unit.data == null) { console.error("unit.data is null. : " + unit.id); return false; } if (unit.options.values == null || Array.isArray(unit.options.values) == false) { console.error("unit.options.values is not valid array. : " + unit.id); return false; } // 누락된 option을 default 값으로 대체 Object.keys(_multibar2.defaultOption).forEach(function(name) { if (!unit.options.hasOwnProperty(name)) { //console.error("unit.options." + name + " does not exist : " + unit.id); unit.options[name] = _multibar2.defaultOption[name]; } }); if (options.color_table_name && RenderUtil.hasOwnProperty(options.color_table_name)) unit.options.colors = RenderUtil[options.color_table_name]; return true; }, render : function($dom, unit) { var $chartDiv = $("
"); if (unit.options.height) $chartDiv.css({"height": unit.options.height, "min-height": unit.options.height}); $dom.append($chartDiv); var chartDivId = ReportRenderer.getUniqueDivId(); var $innerDiv = $(""); if (unit.options.height) $innerDiv.css({"height": unit.options.height - 30, "min-height": unit.options.height - 30}); $chartDiv.append($innerDiv); if (_multibar2.validate(unit) == false) { $dom.append("multibar2 데이터가 올바르지 않습니다." + JSON.stringify(unit, null, 2) + ""); return; } var graphs = []; var value_unit = unit.options.value_unit ? unit.options.value_unit : ""; for (var i = 0; i < unit.options.values.length; i++) { graphs.push({ "balloonText" : (unit.options.stack_type == "100%") ? "[[category]]의 [[title]]