https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=cab618&logNo=221056317474
Chart.js - 차트
오픈 소스로 많이 쓰이는 Chart.js 입니다. 상용 차트가 많은 기능과 UI를 지원하고 있지만 여건상 쓰지...
blog.naver.com
<script type="text/javascript" src="chart.bundle.js"></script> <div id="container" style="border: solid 1px black; width: 100%; height: 300px; margin-bottom: 10px;"> <canvas id="canvas" style="margin-left: 5px;"></canvas> </div> <script type="text/javascript"> var ChartHelper = { chartColors: { red: 'rgb(255, 99, 132)' , orange: 'rgb(255, 159, 64)' , yellow: 'rgb(255, 205, 86)' , green: 'rgb(75, 192, 192)' , blue: 'rgb(54, 162, 235)' , purple: 'rgb(153, 102, 255)' , grey: 'rgb(201, 203, 207)' } }; var color = Chart.helpers.color; var data1 = null; var data2 = null; var barChartData = null; // todo: data setting data1 = ['10', '20', '30', '40', '50', '60', '70', '80' , '90', '100', '110', '120']; data2 = ['120', '110', '100', '90', '80', '70', '60', '50' , '40', '30', '20', '10']; barChartData = { labels: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월' , '9월', '10월', '11월', '12월'] , datasets: [ { label: 'DataSet1' , backgroundColor: color(ChartHelper.chartColors.blue).alpha(0.5).rgbString() , borderColor: ChartHelper.chartColors.blue , borderWidth: 1 , data: data2 } , { label: 'DataSet2' , backgroundColor: color(ChartHelper.chartColors.red).alpha(0.5).rgbString() , borderColor: ChartHelper.chartColors.red , borderWidth: 1 , data: data1 } ] }; var ctx = document.getElementById('canvas').getContext('2d'); window.BarChart = new Chart(ctx, { type: 'bar' // 옆으로 누운 bar 차트를 쓰실 경우 바꾸시면 됩니다. //type: 'horizontalBar' , data: barChartData , options: { // responsive, maintainAspectRatio의 설정이 아래와 같이 해야 // 브라우저의 크기를 변경해도 canvas를 감싸고 있는 // div의 크기에 따라 차트가 깨지지 않고 이쁘게 출력 됩니다. responsive: true //auto size : true , maintainAspectRatio: false , legend: { position: 'top' } , title: { display: true , text: 'Chart Title' } // Bar 하나에 데이터 모두 보여줄 경우 사용 // 주석 처리 할 경우 이 예제에서는 data1, data2 각각 bar가 2개씩 나옵니다. //, scales: { // xAxes: [ // { stacked: true } // ] // , yAxes: [ // { stacked: true } // ] //} // or bar chart 하나씩 보여줄 경우 , scales: { yAxes: [{ ticks: { // Y 축 0부터 시작 beginAtZero:true // Y 축 정수로 보여주기 // 숫자가 작거나 또는 0인 경우 등 자동으로 보여주므로 소숫점으로 나타난다 , callback: function (value) { if (0 === value % 1) { return value; } } } }] } // 아래 주석 처리하여도 포인터를 바에 가져가면 수치가 나옵니다. // 그러나 min 버젼을 link할 경우 영역에다 가져가면 나오질 않아요 // 또한 툴팁에 해당 데이터의 색도 나오지 않습니다. // 직접 코딩 후 min 버젼으로 교체하여 테스트 해보시면 차이를 알 수 있습니다. // Tooltip //, tooltips: { // mode: 'index', // intersect: false, //}, //hover: { // mode: 'nearest', // intersect: true //} } }); var colorNames = Object.keys(ChartHelper.chartColors); </script>


chartjs - ticks 데이터 없을시 1-0으로나오게하기..
'memo' 카테고리의 다른 글
[JAVA] json 형태로 전송시 null 값도 같이 전송하기 (0) | 2022.03.18 |
---|---|
페이스북 / 인스타그램 og image 변경 안될 시 & TEST/ 오픈 그래프 (0) | 2021.12.07 |
카카오톡 SNS Og image 변경 안될 시 / 오픈 그래프 (0) | 2021.12.07 |
[JAVA] BindingResult 을 가진 BindException 강제 발생 (0) | 2021.07.16 |
JAVA SPRING에서 TILES 사용하기 MEMO (0) | 2021.07.06 |
[자바스크립트] htmldivelement 를 String 으로 (0) | 2021.05.14 |
intellij 인텔리제이 ] Command line is too long. Shorten command line for 어쩌구 or also for Spring Boot default configuration? (0) | 2021.05.06 |