Matplotlibで透かし(ウォーターマーク)画像をプロットする方法
Matplotlibでグラフに透かし(ウォーターマーク)画像を重ねて表示するには、以下の手順に従います。
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- get_sample_data() メソッドを使用して、サンプルデータファイルを取得します。
- Figure(図)と一連のサブプロットを作成します。
- plot() メソッドでデータポイントを描画します。このとき alpha=0.7 を指定して半透明にし、マーカーの塗りつぶし色は mfc="orange" に設定します。
- リサンプリングを行わない画像をFigureに追加します。
- 最後に show() メソッドを呼び出して図を表示します。
コード例
import numpy as np
import matplotlib.cbook as cbook
import matplotlib.image as image
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
with cbook.get_sample_data('logo2.png') as file:
im = image.imread(file)
fig, ax = plt.subplots()
ax.plot(np.sin(10 * np.linspace(0, 1)), '-o', ms=20,
alpha=0.7, mfc='orange')
fig.figimage(im, 10, 10, zorder=3, alpha=.5)
plt.show()実行結果

このコードでは、cbook.get_sample_data() で読み込んだロゴ画像を figimage() メソッドによってFigure上の指定した座標(10, 10)に配置しています。zorder=3 により画像がプロットより前面に表示され、alpha=0.5 によって半透明化されるため、グラフの内容を邪魔しない自然な透かしとして機能します。プレゼンテーション資料やレポート用のグラフに社名やブランドロゴを入れたい場合などに便利なテクニックです。
-
MatplotlibでHTTP URLからリモート画像を読み込んで表示する方法
HTTP URL上にあるリモート画像をMatplotlibでプロットしたい場合、scikit-image(skimage)が提供するio.imread()メソッドを使うと、URLを直接指定して画像を読み込むことができます。以下の手順で実装してみましょう。実装手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。HTTP URLから画像データを読み込みます。imshow()メソッドを使い、読み込んだデータを2Dラスタ画像として表示します。axis(off)で軸を非表示にし、画像だけをきれいに見せます。show()メソッドを呼び出して図を表示します。コード例from s
-
Python Matplotlibで3Dグラフをプロットする方法を解説
PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使