MatplotlibでPandasデータ系列に任意のマーカーをプロットする方法
Pandasのデータ系列(Series)に任意のマーカーをプロットするには、Matplotlibのpyplot.plot()メソッドにマーカーの種類を指定するだけで簡単に実現できます。
実装手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- 時系列データを含む軸ラベル付きのPandasデータ系列を作成します。
- plot()メソッドでlinestyle="dotted"(点線)を指定し、系列のインデックスをプロットします。
- tick_params()メソッドを使用して、重なるラベルを回転させます。
- show()メソッドで図を表示します。
コード例
import pandas as pd
from matplotlib import pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
ts = pd.Series(np.random.randn(10),
index=pd.date_range('2021-04-10', periods=10))
plt.plot(ts.index, ts, '*', ls='dotted', color='red')
plt.tick_params(rotation=45)
plt.show()解説
このコードでは、まずpd.date_range()で2021年4月10日から10日分の日付インデックスを持つ時系列データを作成しています。次に、plt.plot()の第3引数として'*'を渡すことで、星形(アスタリスク)のマーカーを指定しています。さらにls='dotted'で点線スタイルを、color='red'で赤色を設定しています。
日付ラベルが横並びで重ならないよう、tick_params(rotation=45)により45度回転させて表示している点もポイントです。この方法を応用すれば、'o'(円)、's'(四角)、'^'(三角)など、さまざまなマーカースタイルを自由に組み合わせられます。
出力結果
実行すると、赤い星形マーカーと点線で結ばれた時系列グラフが表示され、X軸の日付ラベルは45度傾いて見やすく配置されます。
-
Matplotlibで任意のデータを使って4Dプロットを作成する方法
Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x
-
Matplotlibでヒストグラムデータから折れ線グラフを描画する方法
Matplotlibでヒストグラムのデータをもとに折れ線グラフを描画するには、NumPyのhistogram()メソッドを使ってデータセットのヒストグラムを事前に計算しておくのが便利です。この記事では、同じデータをヒストグラムと折れ線グラフの両方で可視化する手順を解説します。実装の手順現在の図にサブプロットを追加します。nrows=2、ncols=1とし、index=1を指定します。NumPyのhistogram()メソッドを使用して、データセットのヒストグラム(度数とビンの境界値)を取得します。edgecolor=blackを指定してhist()メソッドでヒストグラムを描画します。インデック