私はmatplotのlibを使ってストックの基本的なプロットをしようとしていますが、私はプロットのボリューム部分を埋めるのが難しいです。Matplotlib - 塗りつぶしのトラブル
私は2つの別々のチャート(もう一方の上に)で株式の価格と量をプロットしようとしています。 2つの直線(コード内のATTEMPT 1)をプロットすると、予想どおりにうまくいくように見えます。
ボリュームライン(コード内のATTEMPT 2)の下に塗りつぶすと、価格プロットは約5ピクセル幅に完全に盛り上がって見え、2番目のボリュームプロットには何もありません。
その唯一の明示的ATTEMPT 2.また
に設定されたように私はそれがx軸(日付)シリーズとは何かだと仮定し、私は双子の軸を持つ単一のグラフで同じデータをプロットすることを試みてきました。私は同じ結果を1つのチャート内でしか得られません。私は同じソリューションが両方のタイプのチャートでこの問題を解決すると仮定していますか?
また、誰かが私にy軸の縮尺を縮小するヒントを教えてもらえますか?
私には何が欠けていますか?
ありがとうございます!
ベン
import datetime
import numpy as np
import matplotlib.colors as colors
import matplotlib.finance as finance
import matplotlib.dates as mdates
import matplotlib.ticker as mticker
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
# get the stock data
fh = finance.fetch_historical_yahoo('AAPL', (2007, 2, 12), (2011, 2, 12))
r = mlab.csv2rec(fh)
fh.close()
r.sort()
# *** ATTEMPT 1: 2 standard line plots ******************************
f, (ax1, ax2) = plt.subplots(2, sharex=True, sharey=False)
ax1.plot(r.close)
ax2.plot(r.volume)
f.subplots_adjust(hspace=0)
# *** ATTEMPT 2: Fill the volume plot *******************************
f, (ax1, ax2) = plt.subplots(2, sharex=True, sharey=False)
ax1.plot(r.close)
ax2.fill_between(r.date,0, r.volume, facecolor='#0079a3', alpha=0.4)
f.subplots_adjust(hspace=0)
plt.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False)
は素晴らしい作品。ありがとう! – BigWinston