TL;DR matplotlib でローソク足グラフを描く場合は mplfinance のようなライブラリを使うのが定石な訳ですが、色々な理由から結局自分で作図処理を書くようになった、という話です。 経緯 mplfinance は確かに便利でよく出来ています。ティピカルなグラフだったら数行のコードを書くだけでグラフ作成ができちゃいます。が、日常の投資活動で思いついたアイディアを試したり検証したりする過程では、グラフにもちょっと変わった要素を盛り込むことがしばしばです。そうなると、人懐っこかった mplfinance はとたんに融通の利かないブラックボックスに変貌してしまいます。グラフの背景や軸…
前回(ゼロから作るDeep Learning 4(強化学習編)の4章のサンプルコードにアニメーション化の機能を追加する - daisukeの技術ブログ)に続き、今回は、同じく「ゼロから作るDeep Learning 4(強化学習編)」の4章のサンプルコードの「policy_iter.py」に対して、ステップごとの更新された価値関数が書かれたマップの画像ファイルを、ファイル出力する機能を追加していきます。 また、ついでに、同じく4章のサンプルコードの「policy_eval.py」のステートごとの更新された価値関数が書かれたマップの画像ファイルを、ファイル出力する機能を追加します。
matplotlib でグラフを保存すると 凡例(legend) 軸ラベル colormap が枠からはみ出てファイルに正しく保存できない場合の対処方法です解決方法だけ列挙しておきます.困った時は片っ端から試してみましょう! box_inches='tight' をつけてみる (役立ち度:★★★) 基本的にこれで解決するはずです fig.savefig("output.png", bbox_inches='tight') tight_layout() (役立ち度:★★) fig.tight_layout() fig.savefig("output.png") legendを移動させる (役立ち…
pythonのmatplotlib でグラフに y=x の直線を書く方法 fig, ax = plt.subplots(1,1) ax.axline((0, 0), slope=1) axlineを使って,原点(0,0)を通り傾き 1の直線を描く方法が一番使い勝手が良い
わりと汎用性の高いコードを書けたので公開しておく。 普段は世間的に全く需要のなさそうなコードばかり書いているので、「これは珍しく公開する価値があるのでは?」と嬉しくなってしまった。 前提 コード モジュールと事前入力部 ファイルの読み込みから切り出し アニメーション描画 まとめたコード(注記削除済み) 参考文献や引用について よもやま話 前提 最新のanacondaをインストール済み。 任意個のマーカーの座標を、時系列に沿って(縦向きに)記録したデータがあると仮定。 (参考までにデータの読み込みから書いてある) コード モジュールと事前入力部 import csv #データによっては必要かも …
この記事の目的 matplotlibを用いて3Dグラフを描画する方法についてまとめる matplotlibを用いた3D線グラフ・散布図の描画 matplotlibで3Dグラフを描画する場合は下記のように実装する。 (1) 3D描画用モジュールのインポート matplotlibのインポート時に3次元描画に関するライブラリ(mpl_toolkitsのAxes3D)をインポートする。 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D (2) 3D軸設定 描画する軸の設定時引数projection='3d'を…
Pythonから利用できる可視化ライブラリ、Plotlyの初歩的な使い方と細かい設定をまとめました。 Plotlyで作成したグラフは、描画後にグラフの軸を動かしたり拡大したり、プロットした点の座標(値)も示してくれるので、何回も描画し直す必要がないところが利点ですね。 ※データ点が多すぎるとPCの性能によっては動きがカクカクするのでご注意ください。 この記事では紹介しませんが、Plotlyライブラリには種類があるようで、3Dプロットグラフが作成できるPlotly ExpressやDashというWebアプリケーションを使えるライブラリもあるようです。 ※Plotly Expressで作成したグラ…
matplotlibの文字化け 対処法 japanize-matplotlib まとめ matplotlibの文字化け データ分析を行なっている方であれば当然EDA(探索的データ分析)のフェーズで自身が扱っているデータを理解することに努めると思います.このプロセスを丁寧に行うことで「扱っているデータがどのような情報を持ってるのか」,「データ分布がどのような形状になっているか」,「欠損値がどれくらい含まれているのか」などを把握することができます. そして,分析者は理解したデータ内容を第3者にレポーティングするという責任を負っており,分かりやすく伝えるために データ可視化 を自在に使いこなすことが…