私はREST API呼び出しのために取得しているデータでMatplotlibを使用して燭台の図をプロットしようとしています。しかし、呼び出しがユニークなアクセストークンを使用しているので、サンプルデータをダウンロードし、この質問の目的のためにCSVにロードしました。 Here is a pastebin linkをサンプルデータのように表示します。 Python内でデータを処理するために、私はPandasを使ってデータフレームを作成しています。Matplotlibの燭台(日中)グラフは1つの大きな塊です
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
from matplotlib.finance import candlestick_ohlc
from datetime import date
""" Pandas """
historic_df = pd.read_csv("sample_data.csv")
dates = pd.to_datetime(historic_df['time'], format="%Y-%m-%dT%H:%M:%S.%fZ")
openp = historic_df['openAsk']
highp = historic_df['highAsk']
lowp = historic_df['lowAsk']
closep = historic_df['closeAsk']
""" Matplotlib """
ax1 = plt.subplot2grid((1,1), (0,0))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
x = 0
ohlc = []
while x < len(dates):
d = mdates.date2num(dates[x])
append_me = d, openp.values[x], highp.values[x], lowp.values[x], closep.values[x]
ohlc.append(append_me)
x += 1
candlestick_ohlc(ax1, ohlc, width=0.4, colorup='#77d879', colordown='#db3f3f')
plt.show()
そして、ここに私の出力は次のようになります。:
あなたは一種の燭台のための縦のラインを作ることができ、しかしバーはそうここに私のコードは次のようになります本当に広い。どのように私はこれを解決することができるかに関する任意のアイデア?ありがとう。
作品罰金(毎日のデータを使用して)、自分の実際のデータを投稿してください。私がしたのは、この行をここで変更しただけです: 'dates = pd.to_datetime(historical_df ['time'])'それは良いようです。何らかの理由で、1時間ごとに複数の日をプロットして1つのチャートにプロットして、重なりを説明するように見えるようです... – Matt
私は[pastebin](http:// pastebin .com/3Z26y9dA)を使用して、私がスクリーンショットしたグラフをプロットするのに使用されたデータと比較します。私のデータは日中に違いがあるのかどうかはわからないので、それぞれのエントリーは別の日ではなく、5〜10秒ほど離れているようです。 – ng150716