質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

691閲覧

python matplotlib ファイルからローソク足のグラフの作成

junnnn

総合スコア17

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2017/11/12 17:07

日々、エクセルでファイルのデータを扱う事が多く、最近始めたpythonでファイルのデータを扱いたいのですが、matplotlibでのローソク足のグラフの作成がよくわかりません。
matplotlibの使い方はローソク足のグラフを作る以外のグラフならある程度使えますが、ローソク足のグラフの作成方法だけがわかりません。
もともと取得したCSVのファイルからローソク足のグラフを作成したい。
ファイルの中身は左から 日付 始値 高値 安値 終値 となっております。
1 2016.01.06 13:01:00 100.000 100.300 99.900 100.250
2 . . . . .
3 . . . . .
4 . . . . .
5 . . . . .
6 . . . . .
7 . . . . .

どうかご教授ください。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

matplotlib.finance.candlestick_ohlc()もしくはmatplotlib.finance.candlestick2_ohlc()をお使いください。

https://matplotlib.org/api/finance_api.html

今回の場合は、CSVファイルが 'Date,Open,High,Low,Close'順になっているので、matplotlib.finance.candlestick_ohlc()の第2引数にそのままデータ配列を渡すのが簡単かと思います。

以下に pandas にてCSVデータを読み込んだサンプルを挙げておきますので参考にしてください。

Python

1""" 2import io 3import pandas as pd 4import matplotlib.pyplot as plt 5import matplotlib.finance as mpf 6import matplotlib.dates as mpd 7 8csv = """日付,始値,高値,安値,終値 92017-05-01,1423.11585051,1423.11585051,1421.0,1421.0780241 102017-05-02,1421.07802412,1424.7854069,1421.00000001,1421.62251739 112017-05-03,1424.31500146,1424.31500146,1420.00000007,1422.55268289 122017-05-04,1422.55704432,1425.39507897,1420.4917657,1422.73745083 132017-05-05,1422.73745083,1426.51039273,1422.15181904,1425.36336559 142017-05-06,1425.36336553,1427.77773329,1422.81729633,1426.9999996 15""" 16 17# CSVデータ読み込み 18df = pd.read_csv(io.StringIO(csv), parse_dates=['日付']) 19 20# 日付データを数値型に変換 21df['日付'] = df['日付'].map(mpd.date2num) 22 23ax = plt.subplot() 24mpf.candlestick_ohlc(ax, df.as_matrix()) 25ax.xaxis.set_major_locator(mpd.DayLocator()) 26ax.xaxis.set_major_formatter(mpd.DateFormatter('%d-%b')) 27plt.show()

投稿2017/11/13 01:32

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

junnnn

2017/11/13 11:09

回答ありがとうございます。 コードがとてもわかりやすくて理解しました! ローソク足の作成方法も理解しました!
guest

0

このあたりを読んでもわからないということでしょうか?
https://qiita.com/toyolab/items/1b5d11b5d376bd542022
https://qiita.com/u1and0/items/1d9afdb7216c3d2320ef

投稿2017/11/13 00:26

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

junnnn

2017/11/13 11:13

はい、なんども読みましたがわかりませんでした。 特に、ランダムウォークやウェブからのデータの取得で、どのようにしてグラフに値を入れているかがわかりませんでした。 データ取得済みのcsvファイルからローソク足のグラフ化が知りたかったです。
mkgrei

2017/11/13 12:38

失礼しました。 直接関連性のない話を多く含むリンクをはってしまったようですね。 解決したのならmagichanさんをベストアンサーに選び、解決済みにすると他の人の参考になるかもしれませんよ。
junnnn

2017/11/13 13:30

はい、わかりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問