bitFlyer의 Echo API를 사용하여 Bitcoin의 실시간 속도를 시각화 (1)
소개
이제 가상 통화에 흥미가 나왔기 때문에 bitFlyer에 등록했습니다.
어차피 등록했기 때문에 API를 만져 보려고 생각하고, Echo API를 간단하게 사용할 수 있을 것 같았기 때문에 Bitcoin의 리얼타임 레이트를 Matplotlib를 사용해 가시화해 보았습니다.
실행 환경
프로그램
main.pyimport requests
import json
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
from matplotlib.font_manager import FontProperties
from datetime import datetime
# エンドポイント
end_point = 'https://bitflyer.jp/api/echo/price'
# APIからデータ取得
response = requests.get(end_point)
rate = json.loads(response.text)
# 日本語を表示するためにフォントを設定
fp = FontProperties(fname='ipaexg.ttf', size=15)
# ウィンドウを描画
fig = plt.figure(figsize=(12,8))
# データ用の配列を初期化
time_axis = [datetime.now() for _ in range(120)]
mid = [rate['mid'] for _ in range(120)]
bid = [rate['bid'] for _ in range(120)]
ask = [rate['ask'] for _ in range(120)]
# コールバック関数
def plot(loop_count):
# グラフをリフレッシュ
plt.cla()
# APIからデータ取得
response = requests.get(end_point)
rate = json.loads(response.text)
# 配列の先頭を削除
time_axis.pop(0)
mid.pop(0)
bid.pop(0)
ask.pop(0)
# 配列の最後にデータを追加
time_axis.append(datetime.now())
mid.append(rate['mid'])
bid.append(rate['bid'])
ask.append(rate['ask'])
# プロット
plt.plot(time_axis, mid, label='仲値')
plt.plot(time_axis, bid, label='買取価格')
plt.plot(time_axis, ask, label='販売価格')
# ラベル配置
plt.legend(loc='upper left', bbox_to_anchor=(1.05, 1), borderaxespad=0, prop=fp)
plt.subplots_adjust(right=0.8)
# 1000ms(1s)でアニメーションを更新
ani = FuncAnimation(fig, plot, interval=1000)
# 描画
plt.show()
ipaexg.ttf는 아래에서 다운로드하십시오.
htps : // 이파후 t. 가득. . jp / ld / 가득 x t / tw ㄉ d. HTML
실행 결과
Reference
이 문제에 관하여(bitFlyer의 Echo API를 사용하여 Bitcoin의 실시간 속도를 시각화 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ksk001100/items/4867b187aaedc0832c9f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import requests
import json
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
from matplotlib.font_manager import FontProperties
from datetime import datetime
# エンドポイント
end_point = 'https://bitflyer.jp/api/echo/price'
# APIからデータ取得
response = requests.get(end_point)
rate = json.loads(response.text)
# 日本語を表示するためにフォントを設定
fp = FontProperties(fname='ipaexg.ttf', size=15)
# ウィンドウを描画
fig = plt.figure(figsize=(12,8))
# データ用の配列を初期化
time_axis = [datetime.now() for _ in range(120)]
mid = [rate['mid'] for _ in range(120)]
bid = [rate['bid'] for _ in range(120)]
ask = [rate['ask'] for _ in range(120)]
# コールバック関数
def plot(loop_count):
# グラフをリフレッシュ
plt.cla()
# APIからデータ取得
response = requests.get(end_point)
rate = json.loads(response.text)
# 配列の先頭を削除
time_axis.pop(0)
mid.pop(0)
bid.pop(0)
ask.pop(0)
# 配列の最後にデータを追加
time_axis.append(datetime.now())
mid.append(rate['mid'])
bid.append(rate['bid'])
ask.append(rate['ask'])
# プロット
plt.plot(time_axis, mid, label='仲値')
plt.plot(time_axis, bid, label='買取価格')
plt.plot(time_axis, ask, label='販売価格')
# ラベル配置
plt.legend(loc='upper left', bbox_to_anchor=(1.05, 1), borderaxespad=0, prop=fp)
plt.subplots_adjust(right=0.8)
# 1000ms(1s)でアニメーションを更新
ani = FuncAnimation(fig, plot, interval=1000)
# 描画
plt.show()
Reference
이 문제에 관하여(bitFlyer의 Echo API를 사용하여 Bitcoin의 실시간 속도를 시각화 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ksk001100/items/4867b187aaedc0832c9f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)