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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

609閲覧

python 株価 ローソク足 グラフ データラベル

tttkkk

総合スコア38

Google Colaboratory

Google Colaboratoryとは、無償のJupyterノートブック環境。教育や研究機関の機械学習の普及のためのGoogleの研究プロジェクトです。PythonやNumpyといった機械学習で要する大方の環境がすでに構築されており、コードの記述・実行、解析の保存・共有などが可能です。

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/05/30 09:35

pythonでmlpfinanceやplotlyを使用し株価のローソク足を描けると思うのですが、
そのローソク足のグラフの中にデータラベルのような感じで数字を入れ込むことができるのでしょうか。

実行環境は以下になります。
windows10
google colab
Python 3.7.13

実際にmlpfinanceを用いてローソク足を描くコードを以下に記載いたします。

python

1!pip install pandas_datareader 2import pandas_datareader as web 3stockCode = 3169 4stockCode = str(stockCode) + '.JP' 5start = '2022-01-01' 6end = '2022-05-30' 7df_stock = web.DataReader(stockCode, data_source = 'stooq', start = start, end = end) 8df_stock.sort_index(inplace= True) 9df_stock 10 11import random 12entry_list = [random.randrange(100, 1000, 100) for i in range(len(df_stock))] 13print(entry_list) 14df_stock['entry'] = entry_list 15 16!pip install mplfinance 17%matplotlib inline 18import mplfinance as mpf 19mpf.plot(df_stock, type = 'candle', figratio = (10, 5))

上記のコードを実行しますと画像のようなデータフレームから画像のようなローソク足のグラフを作成することができます。

この作成できたローソク足のグラフにデータラベルのような数字を各ローソク足に対して入れたいと考えております。
具体的にはデータフレームのentry列の数字をローソク足の近く(できれば上下のどちらか)に表示させたいです。
私が調べた範囲ですとmplfinanceにはデータラベルを入れるようなオプションを見つけることができませんでしたので、こちらにてお伺いさせていただきました。
上記のコードではmlpfinanceを使用しておりますが、別のライブラリであっても問題ございません。

もしご存じでしたら教えて頂けますと幸いです。
よろしくお願いいたします。

イメージ説明
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

できなくはないのですが、数字が重なってしまう箇所があります。

python

1import mplfinance as mpf 2 3markers = df_stock['entry'].map('${}$'.format).values 4adp = mpf.make_addplot(1.003*df_stock['High'], type='scatter', marker=markers, markersize=150) 5mpf.plot(df_stock, type = 'candle', figratio = (10, 5), addplot=adp, 6 scale_padding={'left': 0.2, 'right': 0.1, 'top': 0.1, 'bottom': 0.5})

イメージ説明

投稿2022/05/30 13:47

編集2022/05/30 16:33
melian

総合スコア19773

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

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

tttkkk

2022/05/31 09:14

ご回答していただきありがとうございます。 私自身の力不足もありまして、初めて知るような関数もございました。 一個一個私の方でも調べてみて、再度質問させていただくかもしれませんが、 何卒よろしくお願いいたします。 ひとまずは実行できなくないというのが知れてよかったです。
tttkkk

2022/06/01 09:17

先日はご丁寧に教えていただきありがとうございます。 一点質問させていただけないでしょうか。 scale_padding={'left': 0.2, 'right': 0.1, 'top': 0.1, 'bottom': 0.5} の scale_padding はどのような引数になるのでしょうか。 一応グラフのサイズを変更するということくらいは何となく把握できたのですが、 調べても見つけることが出来ませんでした。 お手数ですが教えて頂けますと幸いです。
melian

2022/06/01 10:03

それぞれ、グラフの欄外のスペース(タイトルやラベルを描画する部分)の幅や高さを指定します。デフォルトの設定ですと、かなり詰まった感じになっていたので、ぎりぎりまで狭くしてみたのです。デフォルトのままでよければ削除してしまっても構いません。
tttkkk

2022/06/01 13:00

そういうことでしたか。 稚拙な質問だったにもかかわらず、ご丁寧に教えていただきありがとうございます。 melian様のコードを何とか理解することができたとも思いますので、 ベストアンサーにさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問