728x90
소개
비동기 통신(jQuery Ajax)으로 Bithum API 을 이용해서 실시간 그래프 그리는 것을 알아보겠습니다.
다음 결과들은 거래 금액 데이터를 사용했습니다.
이더리움
알파체잉, 이더리움, 리플
참고
아래 링크들을 참고했습니다.
Bithumb API 응답 유형들입니다.
코드
지난 hightcharts 이용한 실시간 그래프 그리기 포스팅의 코드를 조금 수정해서 사용했습니다.
그 때는 Flask 서버를 이용해서 데이터를 다른 페이지에 요청을 했었는데요.
이번에는 API URL 에 요청하기 때문에 서버가 필요없습니다.
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<style>
figure {
margin-top: 100px;
}
</style>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="/">jvvp.tistory.com</a>
</div>
</div>
</div>
<figure>
<div class="container-fluid">
<div class="row">
<div class="container-fluid" id="container"></div>
</div>
</div>
</figure>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/series-label.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="./chart.js"></script>
</body>
</html>
JS
var chart;
var series = [
// { name: 'GXC', data: [] },
{ name: 'ETH', data: [] },
// { name: 'XRP', data: [] }
];
function ticker(idx) {
// url = 'https://api.bithumb.com/public/ticker/{order_currency}_{payment_currency}';
url = 'https://api.bithumb.com/public/ticker/' + series[idx].name + '_KRW';
$.get(url, function(data, status){
point = [new Date().getTime(), parseInt(data['data']['max_price'])];
console.log(point);
var series = chart.series[idx],
shift = series.data.length > 20;
chart.series[idx].addPoint(point, true, shift);
}, 'json');
}
function requestData() {
for (var idx in series){
ticker(idx);
}
setTimeout(requestData, 1000);
}
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'spline',
events: {
load: requestData
}
},
title: {
text: 'Bithumb Live'
},
xAxis: {
type: 'datetime',
tickPixelInterval: 150,
maxZoom: 20 * 1000
},
yAxis: {
minPadding: 0.2,
maxPadding: 0.2,
title: {
text: 'price',
margin: 80
}
},
series: series
});
});
728x90
'자료' 카테고리의 다른 글
Adobe Lightroom classic CC 2019 Download (무료 다운로드) (0) | 2022.02.11 |
---|---|
MicroSoft 오피스 2016 다운로드 및 정품인증 (크랙 설치) (1) | 2022.02.11 |
PHP - 텔레그램 API - push 알림 받기 (0) | 2022.01.28 |
텔레그램 채널 알림(푸시) API/PHP (0) | 2022.01.28 |
CPU-Z/컴퓨터 사양 확인 프로그램/무설치판 (0) | 2022.01.28 |