目次
Matplotlibを使用したリアルタイム描画
以下のスクリプトを実行することで、取得した何らかのデータをリアルタイムで描画できます。
import numpy as np
import matplotlib.pyplot as plt
xs,y = [], []
fig, ax = plt.subplots()
interval = 5
for sec in range(100):
xs.append(sec*interval)
y.append(np.random.random())
ax.plot(xs, y, color='C0', linestyle='-')
ax.set_xlabel('sec')
ax.set_ylabel('Y')
plt.pause(interval)BitFlyer APIとの連携
今回はXRP/JPYの通貨ペアで試します。
API_Key = "*********"
API_Secret = "************"
import ccxt
from pprint import pprint
import matplotlib.pyplot as plt
bitflyer = ccxt.bitflyer({'apiKey':API_Key ,'secret':API_Secret})
market_info = bitflyer.load_markets()
symbol = "XRP/JPY"
xs, y1, y2 = [], [], []
fig, ax = plt.subplots()
sec = 0
interval = 5
while True:
sec += interval
xs.append(sec)
y1.append(bitflyer.fetch_ticker(symbol)["ask"])
y2.append(bitflyer.fetch_ticker(symbol)["bid"])
ax.plot(xs, y1, color='blue', linestyle='-')
ax.plot(xs, y2, color='red', linestyle='-')
ax.scatter(xs,y1,s = 30,color = "blue")
ax.scatter(xs,y2,s = 30,color = "red")
ax.set_xlabel('sec')
ax.set_ylabel('JPY/XRP')
plt.pause(interval=interval)
