0

私がオンラインで見つけた例はすべて、インターネットからデータを引き出すことに関係しています。私は自分のデータを持っており、ろうそく足の最大と最小の側面のみが必要です (ろうそく足の開始レベルと終了レベルは必要ありません)。

私は小数値のリストを持っています:

values=[[5,6],[6,7],[7,8.8],...]

私は持っている

from matplotlib.pyplot import subplots, draw
from matplotlib.finance import candlestick, candlestick2

fig, ax = subplots()
candlestick(ax, values, width=0.5)
plt.show()

私はこれをオンラインの例に基づいて書きました。斧の意味と使い方がよくわかりません。また、値リストを正しく入力する方法がわかりません。現在、次のエラーが表示されます。

Traceback (most recent call last):
  File "algor.py", line 41, in <module>
    candlestick(ax, values, width=0.5)
  File "/usr/lib/pymodules/python2.7/matplotlib/finance.py", line 330, in candlestick
    t, open, close, high, low = q[:5]
ValueError: need more than 2 values to unpack

入力が 4 つではなく 2 つしかないため、不平を言っていますか? 尾のない長方形のみが必要です。値を次のように変更する必要がありますか

values=[[5,5,6,6],[7,7,8.8,8.8],...]

編集:これは私に同じエラーを与えます

4

2 に答える 2

4

へのquotes引数は、こちらcandlestickのドキュメントによると、(時間、始値、終値、高値、安値など) のシーケンスでなければなりません。尾のない四角形のみが必要な場合は、代わりに箱ひげ図を使用できます。

于 2013-10-11T20:46:35.980 に答える
1

免責事項: ローソク足プロットが何をしようとしているのか、私にはまったくわかりません

ただし、取得したこの関数のドキュメントを見て、次のことを伝えることができます。

Definition: candlestick(ax, quotes, width=0.2, colorup=u'k', colordown=u'r', alpha=1.0)
Docstring:
Plot the time, open, close, high, low as a vertical line ranging
from low to high.  Use a rectangular bar to represent the
open-close span.  If close >= open, use colorup to color the bar,
otherwise use colordown

これについて説明します。これaxは、一連の軸の軸インスタンスです。を呼び出すときに作成しましたfig, ax = plt.subplots()。には、またはによるaxメソッドがあります。オブジェクト指向プログラミングへようこそ。calledax.plot()ax.set_xlims()

では、なぜこのエラーが発生するのでしょうか? ローソク足の引用符を参照するドキュメントをよく見てくださいexpects for`:

quotes : sequence of (time, open, close, high, low, ...) sequences
    As long as the first 5 elements are these values,
    the record can be as long as you want (eg it may store volume).

ですから、あなたがそれを与えたくないと言った開始値と終了値を与える必要があると思います。おそらく、あなたはいくつかを作ることができますか?したがって、基本的にこれを実行するには、次のようなものを試してください

values = [[1, 2, 3, 4, 5], [2, 3, 4, 5, 6]]
candlestick(ax, values)

ドキュメントに記載されているように、値の各項目がプロットされます。

これらのものを自分で見つける方法を学ぶには、特に Finance パッケージはオンラインでドキュメントを見つけることができないため、 ipython をダウンロードしてインストールすることをお勧めします。これは、何かを照会して詳細を調べることができる Python インタープリターです。

candlestick?

そしてそれはドキュメントを印刷し、タイプします

ax. # and then press tab after the full stop

そして、軸でできるすべてのことを出力します!

于 2013-10-11T20:49:13.057 に答える