Matplotlibでスカラー2Dデータを視覚化する方法
Matplotlibでスカラー2Dデータを視覚化する手順
Matplotlibを使えば、スカラー形式の2次元データを簡単に可視化できます。ここでは、pcolormesh()を用いて不規則な矩形グリッド上に擬似カラープロットを作成する基本的な流れを紹介します。
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- データサンプル数を表す変数
nを初期化します。 - NumPy を使って x 軸と y 軸のデータポイントを作成します。
np.meshgrid()で座標ベクトルから座標行列を生成します。- NumPy を使って各格子点の z 値(スカラー値)を計算します。
pcolormesh()を使って擬似カラープロットを作成します。plt.show()を呼び出して図を表示します。
コード例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True n = 256 x = np.linspace(-3., 3., n) y = np.linspace(-3., 3., n) X, Y = np.meshgrid(x, y) Z = X * np.sinc(X ** 2 + Y ** 2) plt.pcolormesh(X, Y, Z, cmap='copper', shading='flat') plt.show()
コードの解説
この例では、まず np.linspace() によって −3 から 3 までの範囲に 256 個の等間隔ポイントを生成し、np.meshgrid() でそれらを組み合わせてメッシュグリッドを作成しています。z 値は X * np.sinc(X ** 2 + Y ** 2) という数式で計算され、各格子点におけるスカラー値を表します。
最後に pcolormesh() に cmap='copper' を指定することで、銅色系のカラーマップが適用され、データの強度が色の濃淡として表現されます。また、shading='flat' は各セルを単一色で塗りつぶす描画方式です。
実行結果


-
Matplotlibで漸近線・不連続点を含むグラフを正しく描画する方法
はじめにMatplotlibで y = 1/x のような関数をそのままプロットすると、x = 0 付近で値が発散し、グラフ上に不自然な縦線が表示されてしまうことがあります。これは数値計算では厳密な「無限大」を扱えず、0に極めて近い大きな値として計算されるためです。本記事では、numpyとMatplotlibを組み合わせて、漸近線(不連続点)を持つ関数を見やすく描画する手順を解説します。処理の手順numpyを使ってx・yのデータポイントを作成します。plt.axis(off) で軸の表示をオフにします。plot() メソッドでx・yのデータをもとに曲線を描画します。axhline() で水平方向
-
PythonでAPIの結果を可視化する方法|GitHub APIとPlotlyを使った実践チュートリアル
はじめにAPIを活用する最大のメリットの一つは、常に最新のライブデータを取得できる点です。データが頻繁に更新される場合でも、API経由なら最新の状態を確実に取得できます。APIプログラムは、特定の情報をリクエストするために専用のURLを使用します。たとえば「SpotifyやYouTube Musicで2020年に最も再生された楽曲トップ100」といった具合です。リクエストされたデータは、JSONやCSVなど、プログラムで扱いやすい形式で返却されます。Pythonを使えば、ほぼあらゆるURLに対してAPI呼び出しを記述できます。本記事では、GitHubのAPIからデータを抽出し、その結果をグラフ