Matplotlibで作成したPythonの金融グラフから週末(空の日付)をスキップする方法
Matplotlibで金融グラフを作成する際、週末(土日)の空の日付をスキップしたいケースはよくあります。これを実現するには、データフレーム内の日時を反復処理し、曜日の値が5(土曜日)または6(日曜日)に該当する場合はプロットをスキップする方法が有効です。
手順
図のサイズを設定し、サブプロット間およびその周囲のパディングを調整します。
キーとして「time」を持つデータフレームを作成します。
データフレームのインデックスと日時をzip関数で組み合わせて反復処理します。
反復処理したタイムスタンプの曜日が5または6(土日)の場合は、プロットを行いません。
曜日が5または6以外の場合は、そのポイントをプロットします。
Y軸の目盛り位置を設定します。
グリッド線を表示してプロットをレイアウトします。
図を表示するには、show()メソッドを使用します。
コード例
import pandas as pd from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True df = pd.DataFrame(dict(time=list(pd.date_range(start="2021-01-01", end="2021-01-15")))) for i, t in zip(df.index, df.time): if t.weekday() in (5, 6): pass else: plt.plot(i, t, marker="*", ms=10) plt.yticks(df.time) plt.grid(True) plt.show()
実行結果

このコードでは、2021年1月1日から1月15日までの日付範囲を持つデータフレームを生成しています。weekday()メソッドは月曜日を0、日曜日を6として返すため、値が5または6のとき(つまり土曜日と日曜日)はpass文によってプロットをスキップし、平日のデータのみをグラフに描画します。これにより、金融データの可視化において週末の空白期間を自然に除外できます。
-
Pythonで時系列データをプロットする方法をわかりやすく解説
Pythonのmatplotlibを使えば、時系列データ(日時を軸にしたデータ)を簡単にグラフ化できます。ここでは、datetimeオブジェクトを含むデータを折れ線グラフとして描画する基本的な手順を紹介します。 時系列プロットの基本手順 numpyを使用して、x軸(日時データ)とy軸(数値データ)を作成します。 plot()メソッドを使って、作成したx・yのデータをプロットします。 show()メソッドを実行して、図を画面に表示します。 コード例 以下のサンプルコードでは、2021年1月1日の0時から23時までの24個の日時データを生成し、それに対応するランダムな数値をy軸としてプロットし
-
【Python】matplotlibでフォントサイズを変更する方法をわかりやすく解説
Pythonの可視化ライブラリ「matplotlib」では、plt.text()メソッドを使うことで、グラフ内に表示するテキストのフォントサイズを簡単に変更できます。この記事では、具体的な手順とサンプルコードを交えて解説します。 フォントサイズを変更する手順 グラフを作成する:plt.plot()メソッドの引数に2つのリストを渡すことで、折れ線グラフを作成できます。 テキストを追加する:plt.text()メソッドを使い、データ座標上の位置 (x, y) にテキストを配置します。fontsize引数の値を変更することで、フォントサイズを自由にカスタマイズできます。 グラフを表示する:plt.