Matplotlibの図からSVGファイルをエクスポートする方法
Matplotlibで作成した図(フィギュア)をSVGファイルとして書き出す方法を解説します。SVGはベクター形式のため、拡大・縮小しても画質が劣化せず、Webサイトや印刷物での利用に最適です。
エクスポートの手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- figureオブジェクトとサブプロットのセットを作成します。
- NumPyを使ってランダムなx座標とy座標のデータポイントを生成します。
- plot()メソッドを使ってxとyのデータポイントをプロットします。
- savefig()メソッドを使って.svg形式のファイルとして保存します。
コード例
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, ax = plt.subplots()
x = np.random.rand(10)
y = np.random.rand(10)
ax.plot(x, y, ls='dotted', linewidth=2, color='red')
plt.savefig("myimg.svg")実行結果
このコードを実行すると、「myimg.svg」という名前のSVGファイルが生成され、カレントディレクトリに保存されます。線種は点線(dotted)、線幅は2、色は赤に設定されているため、そのスタイルがそのままSVGファイルに反映されます。

補足ポイント
savefig()メソッドは、拡張子によって自動的に出力フォーマットを判別します。「.svg」「.png」「.pdf」など、拡張子を変更するだけで簡単に別形式で保存できるため、用途に応じて使い分けると便利です。また、dpi引数やbbox_inches='tight'引数を指定することで、解像度や余白の調整も可能です。
-
NumPyの3次元配列からMatplotlibで3Dプロットを作成する方法
NumPyで作成した3次元配列からMatplotlibを使って3Dプロットを描画するには、まずnumpyで3次元配列を生成し、そこからx・y・z座標のデータを抽出します。以下の手順に従って実装できます。figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドを使用して、サブプロット配置の一部として図に~.axes.Axes(3D軸)を追加します。size=(3, 3, 3)のランダムデータを生成します。3次元配列からx、y、zのデータを抽出します。作成した軸上に3D散布図をプロットします。図を表示するには、show()メソッドを
-
MatplotlibでiPythonノートブックの図をファイルとして保存する方法
iPythonノートブック上で作成した図(グラフ)を画像ファイルとして保存したい場合、Matplotlibの機能を使えば簡単に実現できます。ここでは、基本的な手順とサンプルコードを紹介します。 図をファイルに保存する手順 iPythonから図をファイルとして保存するには、以下の手順を実行します。 plt.figure() で新しい図を作成するか、既存の図をアクティブにします。 add_axes() メソッドを使って、図に axes(座標軸)を追加します。 プロットしたいデータ(リストなど)を plot() で描画します。 savefig() メソッドを使って、図をファイルとして保存します。