-
Matplotlibで凡例のマーカーサイズと透明度(アルファ)を設定する方法
Matplotlibでは、凡例に表示されるマーカーのサイズや透明度(アルファ値)は、そのままではプロット本体と同じ設定が適用されます。これらを個別に変更したい場合は、凡例ハンドルの内部にあるマーカーオブジェクトに直接アクセスして調整します。この記事では、散布図風のプロットを作成し、凡例内のマーカーサイズとアルファ値を変更する具体的な手順を解説します。実装手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を自動調整します。サンプルデータの個数を格納する変数 N を初期化します。xデータとyデータを、marker=*(星形マーカー)を使ってプロットします。図に凡例を配置します。凡
-
Matplotlibでマーカーに影響を与えずに透明なエラーバーを描画する方法
Matplotlibでは、errorbar()関数の戻り値からエラーバー本体(bars)とキャップ(caps)を個別に取得し、それぞれに透明度(alpha値)を設定することで、マーカーの見た目を変えずにエラーバーだけを半透明にできます。手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。データ用のリスト x、y、z を作成します。変数 error_bar_width = 5 を初期化します。plt.errorbar() を使って、y 対 x のデータを線・マーカー付きでプロットし、エラーバーを同時に描画します。このとき、戻り値として markers、caps、ba
-
Matplotlibの散布図に追加の点を重ねてプロットする方法
Pythonの可視化ライブラリ「Matplotlib」を使えば、すでに作成した散布図の上に、別のデータポイントを簡単に重ねて描画できます。本記事では、散布図に追加の点をプロットする具体的な手順をサンプルコード付きで解説します。 実装手順 figureサイズとパディングを設定する: plt.rcParams を使って、図のサイズやサブプロット間・周囲の余白(パディング)を調整します。 x・yのデータポイントを用意する: プロット元となるデータをリスト形式で定義します。 散布図を作成する: plt.scatter() にx・yのデータを渡して、基本となる散布図を描画します。 追加の点をプロットす
-
Python Matplotlibで補間を使用して適合率・再現率曲線(PR曲線)を描画する方法
PythonのMatplotlibを使えば、補間処理を加えた適合率・再現率曲線(Precision-Recall Curve)を簡単に描画できます。PR曲線は機械学習モデルの評価に広く使われるグラフで、補間を行うことで適合率が単調に減少する滑らかな階段状の曲線として表現できます。以下に具体的な手順を紹介します。手順図のサイズを設定し、サブプロット間および周囲のパディング(余白)を調整します。NumPyを使って、再現率 r、適合率 p、および複製した適合率データ dup_p のデータ点を作成します。whileループによる補間処理で、隣接する適合率の値を比較し、後続の値が大きい場合は前の値を置き換
-
Seabornのポイントプロットにデータラベルを表示する方法【Python】
Seabornのpointplot()で描画したグラフにデータラベルを追加するには、軸オブジェクトからパッチ情報を取得し、Matplotlibのannotate()メソッドでラベルを注釈として配置します。以下に具体的な手順とサンプルコードを紹介します。 実装手順 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 2次元のサイズ可変な表形式データを持つDataFrame(df)を作成します。 sns.pointplot()を使ってポイントプロットを作成します。 軸のパッチ(ax.patches)とラベルを取得し、対応するラベルで注釈を付けます。 図を表示するにはs
-
Pythonのmatplotlibでポリゴン内部の領域を塗りつぶす方法を徹底解説
Pythonのデータ可視化ライブラリ「matplotlib」を使えば、多角形(ポリゴン)の内部領域を簡単に塗りつぶして描画できます。この記事では、PolygonパッチとPatchCollectionを組み合わせて、ポリゴン内の領域を図に追加する基本的な手順を、実際のコード例とともにわかりやすく解説します。 実装の手順 matplotlibでポリゴン内部を塗りつぶすには、以下の手順に従います。 図のサイズ(figure size)を設定し、サブプロット間および周囲の余白(padding)を調整します。 plt.subplots()を使って、図(Figure)とサブプロット(Axes)を作成しま
-
networkx・matplotlibでグラフ描画の属性を変更する方法
Pythonのnetworkxとmatplotlibを組み合わせてグラフを描画する際、エッジの色や太さといった属性を自由に変更できます。この記事では、その具体的な手順をサンプルコード付きで解説します。 変更手順 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。 エッジ、名前、またはグラフ属性を持つグラフを初期化します。 グラフに属性を追加し、ノード u と v の間にエッジを追加します。ここでは各エッジに「color」と「weight」を設定しています。 nx.get_edge_attributes() を使って、グラフからエッジの属性(色・重み)を取得します。
-
Python NumPyで角度を度からラジアンに変換する方法
PythonのNumPyで角度を「度(デグリー)」から「ラジアン」に変換するには、numpy.radians() メソッドを使用します。このメソッドは、入力された角度に対応するラジアン値を返します。入力 x がスカラーの場合、戻り値もスカラーになります。numpy.radians() のパラメータ各パラメータの詳細は以下のとおりです。第1引数(x):度単位で表された入力配列です。必須のパラメータです。第2引数(out):結果を格納するための ndarray を指定できます(省略可能)。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。省略した場合や None を指定
-
【Python】NumPyで自然対数(log)を計算する方法
自然対数(log)は指数関数の逆関数であり、log(exp(x)) = x という関係が成り立ちます。自然対数とは、ネイピア数 e を底とする対数のことです。NumPy の np.log() メソッドは、入力 x の自然対数を要素ごとに計算して返します。x がスカラーであれば、戻り値もスカラーになります。 主なパラメータ 第1引数(x): 入力値。配列様(array-like)オブジェクトを指定します。 第2引数(out): 結果を格納する場所。指定する場合は、入力がブロードキャストされる形状と一致している必要があります。省略した場合や None を指定した場合は、新たに確保された配列が返さ
-
Pythonでaxis=0に沿ってn階の離散差分を計算する方法
n階の離散差分を計算するには、numpy.diff()メソッドを使用します。指定した軸に沿って、1階の差分は out[i] = a[i+1] - a[i] として求められ、それより高次の差分はdiff()を再帰的に適用することで計算されます。diff()メソッドはn階の差分を返します。出力の形状は、差分を取る軸において元の配列より次元がnだけ小さくなることを除き、入力配列aと同じになります。出力のデータ型は、aの任意の2つの要素間の差分の型と同じであり、ほとんどの場合はa自体の型と一致します。ただし、注目すべき例外としてdatetime64型があり、この場合はtimedelta64型の出力配列
-
Pythonで軸0に沿ったN次元配列の勾配を返す方法
勾配(グラディエント)は、内部の点では2次精度の中心差分を用いて計算され、境界では1次または2次精度の片側差分(前進差分または後退差分)を用いて計算されます。そのため、返される勾配は入力配列と同じ形状になります。np.gradient() 関数の主なパラメータは以下の通りです。第1パラメータ f: スカラー関数のサンプル値を格納したN次元配列。第2パラメータ varargs: f の値間の間隔(スペーシング)。デフォルトではすべての次元で単位間隔となります。第3パラメータ edge_order {1, 2}: 境界における差分の精度次数を指定します。デフォルトは 1。第4パラメータ axis:
-
NumPyのissubdtype()で異なるサイズのint型が整数クラスのサブタイプかどうか判定する方法
PythonのNumPyでは、numpy.issubdtype()メソッドを使うことで、異なるサイズのint型(int16、int32、int64など)が整数クラスのサブタイプであるかどうかを簡単に判定できます。引数にはdtype、またはdtypeに変換可能なオブジェクトを指定します。 手順 まず、必要なライブラリをインポートします。 import numpy as np 次に、issubdtype()メソッドを使用して、さまざまなサイズの整数型が符号付き整数クラス(np.signedinteger)や整数クラス(np.integer)のサブタイプかどうかを確認します。 print(Resul
-
Python NumPyで配列内の文字列が指定した接尾辞で終わるかを判定し、ブール配列を返す方法
配列内の文字列要素が指定した接尾辞(サフィックス)で終わる位置にTrueが格納されたブール配列を返すには、Python NumPyのnumpy.char.endswith()メソッドを使用します。このメソッドはbool型の配列を出力します。第1引数には入力配列を、第2引数には接尾辞を指定します。さらに、オプションのstart引数を指定するとその位置から判定を開始し、オプションのend引数を指定するとその位置で比較を終了します。手順まず、必要なライブラリをインポートします。import numpy as np文字列の1次元配列を作成します。arr = np.array(['KATIE
-
【Python NumPy】char.find()で各要素ごとに部分文字列が見つかる最小インデックスを取得する方法
文字列の中で部分文字列(sub)が最初に見つかった位置(最小インデックス)を取得するには、Python NumPyのnumpy.char.find()メソッドを使用します。このメソッドは整数型(int)の出力配列を返し、部分文字列が見つからなかった場合は-1を返します。第1引数には入力配列を、第2引数には検索対象となる部分文字列を指定します。手順まず、必要なライブラリをインポートします。import numpy as np文字列の1次元配列を作成します。arr = np.array(['KATIE', 'JOHN', 'KATE', 'A
-
【Python NumPy】char.startswith()で配列内の文字列が指定プレフィックスで始まるかを判定する方法
PythonのNumPyには、配列内の文字列要素が指定したプレフィックス(接頭辞)で始まるかどうかを判定し、ブール値(True/False)の配列を返すnumpy.char.startswith()メソッドが用意されています。このメソッドの主な引数は以下の通りです。 第1引数:入力配列 第2引数:判定に使用するプレフィックス(接頭辞) start(任意):比較を開始する位置 end(任意):比較を終了する位置 実装手順 まず、必要なライブラリをインポートします。 import numpy as np 文字列の1次元配列を作成します。 arr = np.array([KATIE, JOHN,
-
【Python・NumPy】char.rfind()で各要素ごとに部分文字列が見つかる最大のインデックスを取得する方法
numpy.char.rfind()メソッドとは文字列の中で部分文字列(sub)が見つかった位置のうち、最も大きいインデックス(最後に出現する位置)を取得したい場合は、Python NumPyの numpy.char.rfind() メソッドを使用します。このメソッドはint型の出力配列を返し、部分文字列が見つからなかった要素には -1 を返します。主な引数は以下の通りです。第1引数: 検索対象となる入力配列第2引数: 検索する部分文字列実行手順まず、必要なライブラリをインポートします。import numpy as np1次元の文字列配列を作成します。arr = np.array([KATI
-
【Python NumPy】char.rfind()で部分文字列が見つかった最大インデックスを要素ごとに取得する方法
文字列の中で部分文字列 sub が見つかった位置のうち、最も大きい(右端の)インデックスを返すには、Python NumPy の numpy.char.rfind() メソッドを使用します。このメソッドは整数(int)の出力配列を返し、部分文字列が見つからなかった場合は -1 を返します。rfind() は各要素に対して右側から検索を行うため、同じ部分文字列が複数回出現する場合でも、最後に見つかった位置のインデックスが結果として得られます。パラメータについて第1引数: 検索対象となる入力配列第2引数: 検索する部分文字列第3・第4引数(省略可能): start と end は Python の
-
Python NumPyのrindex()メソッドで部分文字列が見つかる最大インデックスを返す方法
Python NumPyのnumpy.char.rindex()メソッドを使用すると、文字列の中で指定した部分文字列(sub)が見つかった位置のうち、最も大きい(右端の)インデックスを返すことができます。このメソッドはint型の要素を持つ出力配列を返し、部分文字列が見つからない場合はValueErrorが発生します。引数の構成は以下のとおりです。第1引数: 検索対象となる入力配列第2引数: 検索する部分文字列なお、rindex()は文字列の右側から検索を行うため、同じ部分文字列が複数回出現する場合でも、その中で最も後ろ側(インデックスが最大)の位置が返される点が特徴です。手順1. 必要なライブ
-
【Python・NumPy】rindex()メソッドで指定範囲内に見つかった部分文字列の最大インデックスを取得する方法
PythonのNumPyライブラリには、文字列配列を操作するための便利な関数が多数用意されています。その中でもnumpy.char.rindex()メソッドは、文字列の中で指定した部分文字列(サブ文字列)が最も右側(高いインデックス)で見つかった位置を返すメソッドです。 このメソッドはint型の要素を持つ出力配列を返します。もし部分文字列が見つからなかった場合は、ValueErrorが発生する点に注意してください。これは、見つからない場合に-1を返すrfind()メソッドとの大きな違いです。 rindex()メソッドのパラメータ 第1引数: 検索対象となる入力配列 第2引数: 検索する部分文
-
Python・NumPyで文字列配列の各要素の長さを取得する方法
文字列配列の各要素の長さを要素ごとに取得したい場合は、PythonのNumPyが提供する numpy.char.str_len() メソッドを使用します。このメソッドは、各文字列の長さを格納した整数型の出力配列を返します。実行手順まず、必要なライブラリをインポートします。import numpy as np次に、1次元の文字列配列を作成します。arr = np.array([Amy, Scarlett, Katie, Brad, Tom])作成した配列を表示してみましょう。print(Array...\n,arr)配列のデータ型を確認します。print(\nArray datatype...\