Skip to content

Matplotlibで軸を削除する方法:包括的なガイド

Updated on

Matplotlibは、データの視覚化に強力なPythonライブラリですが、効果的なプロットを作成するには、軸のような特定の要素を削除する必要があります。Matplotlibで軸を削除する方法が知りたかった場合は、このガイドが理想的なスタートポイントです。Matplotlibのドキュメントやコミュニティの推奨事項に従い、不要な要素を削除することにより、チャートを輝かせる方法について深掘りしましょう。

開始:Matplotlibにおける軸とは何か

始める前に、Matplotlibで「軸」という用語が何を指すかを理解することが重要です。「軸」という用語は、プロット上のx軸とy軸、ラベル、目盛り、プロット領域を囲む線を指します。軸を削除すると、データのプレゼンテーションに焦点を当てた、クリーンでシンプルなプロットが残ります。

なぜ軸を削除するのか

Matplotlibのプロットから軸を削除する理由はいくつかあります。最も一般的な理由は、よりクリーンでシンプルな外観を作成することです。軸、グリッド線、ラベルを削除することで、視聴者が視覚化の最も重要な部分であるデータに集中できます。

軸を削除する:基本的な部分

まず第一に、Matplotlibで軸を削除する方法を理解しましょう。プロセスは非常にシンプルで、わずか数行のコードが必要です。次の基本的な例を考慮してください:

import matplotlib.pyplot as plt
 
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
 
plt.plot(x, y)
plt.gca().set_axis_off()
plt.show()

このスクリプトでは、gca()関数を使用して現在の軸を取得し、set_axis_off()メソッドを呼び出して軸をオフにします。このスクリプトを実行すると、軸が見えない線形プロットが表示されます。

軸を削除し、図を保存する

軸を表示しないまま図を保存したい場合はどうすればよいでしょうか。Matplotlibはシンプルな方法でプロットをファイルに保存することができます。以下は、軸のないプロットを保存するための方法です:

plt.plot(x, y)
plt.gca().set_axis_off()
plt.savefig('my_plot.png', bbox_inches='tight', pad_inches = 0)
plt.close()

savefig()関数は、現在の図を保存するために使用され、ファイル名 my_plot.png を引数として渡します。bbox_inches='tight' ,pad_inches=0 パラメータを使用して、保存された図の周りの余白を除去します。このスクリプトを実行すると、現在のディレクトリにmy_plot.pngという新しいファイルが作成され、軸のない保存されたプロットが含まれます。

上級編:サブプロットから軸を削除する

ここまでは、単一のプロットから軸を削除する方法について説明してきました。しかし、複数のサブプロットがある場合に、すべてのプロットから軸を削除するか、特定のプロットから軸を削除する方法を考えましょう。以下はその方法です:

fig, axs = plt.subplots(2, 2)
for ax in axs.flat:
    ax.set_axis_off()
 
plt.savefig('subplot_no_axes.png', bbox_inches='tight', pad_inches = 0)
plt.close()

このコードでは、plt.subplots() 関数を使用して 2x2 のグリッドを作成し、次に各サブプロット ( axs.flat でアクセス可能) を反復処理して、 ax.set_axis_off() を使用して軸を削除します。前と同様に図を保存して、各軸のない複数のサブプロットを含む画像ファイルを作成します。

軸を削除する代替方法:軸の外観を調整する

場合によっては、軸を残して目立たなくすることが望ましい場合があります。Matplotlib には、軸の外観をカスタマイズするための多くのオプションがあります。軸を少し目立たなくする方法の例を示します。

ax = plt.gca()
ax.spines['top'].set_color('none')
ax.spines['bottom'].set_linewidth(0.5)
ax.spines['left'].set_linewidth(0.5)
ax.spines['right'].set_color('none')

このスクリプトでは、 plt.gca() を使用して現在の軸を最初に取得します。その後、 spines プロパティを使用して、軸の上端、下端、左側、右側の各側面にアクセスします。その後、 set_color('none') を呼び出して、軸の上端と右端を取り除き、 set_linewidth(0.5) を呼び出して下端と左端を薄くします。

Matplotlib の代替方法: PyGWalker を使用したデータの視覚化

pandas データフレームを視覚化するために Matplotlib を使用すること以外に、オープンソースの Python ライブラリである PyGWalker を使用して、簡単にデータ視覚化を作成できる代替方法があります。PyGWalker (opens in a new tab)

PyGWalker for Data visualization (opens in a new tab)

Python コードで複雑な処理を完了する必要はなくなりました。データをインポートし、変数をドラッグアンドドロップして、さまざまなデータ視覚化を作成できます。操作に関するクイックデモ動画は以下のとおりです。


Jupyter Notebook で PyGWalker を使用する方法は次のとおりです。

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

また、Kaggle Notebook / Google Colab で試すこともできます。

Run PyGWalker in Kaggle Notebook (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)Give PyGWalker a ⭐️ on GitHub (opens in a new tab)
Run PyGWalker in Kaggle Notebook (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)Run PyGWalker in Google Colab (opens in a new tab)

PyGWalker は、オープンソースコミュニティのサポートを受けて構築されています。PyGWalker の GitHub (opens in a new tab) をチェックして、私たちにスターを送ってください!

まとめ

Matplotlib で軸を削除することで、データに集中してよりクリーンで効果的な視覚化を作成できます。このガイドでは、単一のプロットまたは複数のサブプロットから軸を削除する方法と、軸の外観を調整して目立ちにくくする方法を紹介しました。これらのテクニックを使って、Matplotlib を使って素晴らしく、ミニマリストなプロットを作成する準備ができました。

FAQ

Q:Matplotlibで軸を削除することが推奨されない場合はありますか?

はい、軸を削除することは、データのスケールや比率が重要な場合に、プロットを解釈することが困難になる場合があります。軸を削除するかどうかを決定する際には、常に観客のニーズやデータの性質を考慮する必要があります。

Q:MatplotlibをベースにしたSeabornで作成されたプロットから軸を削除することはできますか?

はい、SeabornはMatplotlibをベースにしているため、同じコマンドでSeabornのプロットから軸を削除することができます。

Q:軸を削除した後も、プロットにタイトルを追加することはできますか?

はい、軸を削除してもプロットにタイトルを追加することはできます。何時でもplt.title()関数を使用して、タイトルを追加することができます。