Skip to content
チュートリアル
Matplotlib
Matplotlibにおける図のサイズの使い方:完全ガイド

Matplotlibにおける図のサイズの使い方:完全ガイド

Pythonのデータ可視化ライブラリであるMatplotlibで図のサイズを効果的に制御する方法を理解することは、高品質なプロットを生成する上で不可欠です。この包括的なガイドでは、新しい図を作成する場合や既存の図を変更する場合に、Matplotlibで図のサイズを設定するための複数の方法を探ります。

Matplotlibの図のサイズの理解

MatplotlibはMATLABに似た動作をします。図を作成するとき、図のサイズをインチ単位で指定することができます。figure()関数を使用して新しい図を作成し、figsize引数を取ります。これは、図の幅と高さをインチ単位で表します。通常、タプル(幅、高さ)として提供されます。

以下は、特定のサイズを持つ図を作成する簡単な例です。

from matplotlib.pyplot import figure
 
## 特定のサイズを持つ新しい図を作成する(幅=8インチ、高さ=6インチ)
figure(figsize=(8, 6))

上記のコードスニペットでは、figure()関数が(8, 6)に設定されたfigsizeパラメータで呼び出されています。これによって、8インチの幅と6インチの高さの図が作成されます。

作成した後で図のサイズを調整する

図を作成した後で、図のサイズを調整する場合があります。Matplotlibライブラリには、set_size_inches()関数が用意されており、これを使用することで図のサイズを調整できます。

次のようにこの関数を使用します。

import matplotlib.pyplot as plt
 
## 新しい図を作成する
fig = plt.gcf()
 
## 図のサイズを18.5x10.5インチに設定する
fig.set_size_inches(18.5, 10.5)
 
## 図を保存する
fig.savefig('figure.png', dpi=100)

このコードスニペットでは、「現在の図を取得する」を意味するgcf()関数を使用して現在の図を取得し、そのサイズをset_size_inches()メソッドを使用して設定しています。

plt.rcParamsを活用する

Matplotlibで図のサイズを設定する別の方法は、特にplt.plot()を使用して図の環境を使用したくない場合は、plt.rcParamsパラメータを使用する方法です。

以下は簡単な例です。

import matplotlib.pyplot as plt

フィギュアサイズを20x3に設定する

plt.rcParams["figure.figsize"] = (20,3)


このコードスニペットでは、 `rcParams` ディクショナリを使用してフィギュアのサイズを設定しています。このアプローチは、Jupyterノートブックなどでインラインプロットを行う場合に非常に便利です。

### センチメートル単位でのフィギュアサイズの設定

`figsize`タプルはインチを受け取りますが、センチメートルでサイズを設定したい場合は、寸法をセンチメートルからインチに変換する必要があります(1インチは2.54 cmに相当するため)。

こうやってやります:

```python
## センチメートル単位でフィギュアサイズを設定します
width_cm = 20
height_cm = 10

## cmをinchに変換
width_in = width_cm/2.54
height_in = height_cm/2.54

## 指定されたサイズで新しいフィギュアを作成します
figure(figsize=(width_in, height_in))

この例では、まず幅と高さをセンチメートルで指定します。 これらの寸法は、2.54で割ることでインチに変換されます。 最後に、変換された寸法が指定されたサイズで新しい図に使用されます。

rcParamsを使用したフィギュアサイズの調整

rcParamsアプローチの柔軟性とパワーは重要です。 この戦略を使用すると、スクリプトまたはノートブックのすべてのプロットで一貫性が確保されるように、フィギュアのデフォルト設定を定義できます。 次のセクションでは、rcParamsを活用してフィギュアサイズを動的に調整する方法を見ていきます。

rcParamsを使用したフィギュアサイズの動的変更

先に述べたように、 rcParamsは一度だけフィギュアサイズを設定することだけでなく、全体のコーディング環境全体のフィギュアサイズを効率的に調整する方法を提供します。 大規模なプロジェクトでは、一貫したプロットスタイルや寸法が必要な場合があります。

グローバルフィギュアサイズをデフォルトに設定するには、 rcParamsDefault 属性を使用して、次のようにします:

plt.rcParams["figure.figsize"] = plt.rcParamsDefault["figure.figsize"]

このコードでは、 rcParamsDefault属性にはデフォルト設定が含まれており、フィギュアサイズが元の寸法にリセットされます。

Pandasを使用したフィギュアサイズの制御

データ操作や解析に使用されるライブラリであるPandasは、しばしばMatplotlibと協調してバイジュアライゼーションを行います。 Pandasで作業する際にフィギュアサイズを調整するには、次のようにプロット関数内で figsizeパラメータを直接設定できます。

df['some_column'].plot(figsize=(10, 5))

この例では、 dfはPandasデータフレームであり、サイズが10x5インチの 'some_column'のプロットを作成しています。

サブプロットを作成するときにもフィギュアサイズを設定できます。

fig, ax = plt.subplots(figsize=(10, 5))

df ['some_column'] .plot(ax=ax)の日本語訳:


## デフォルトの図のサイズを調整する

デフォルトの図のサイズ設定を変更したい場合は、問題ありません。 Matplotlibは、デフォルトの設定を更新できるようにすることで、これを簡単に行うことができます:

```python
import matplotlib

matplotlib.rc ('figure'、figsize =(10、5))

このコードでは、 matplotlib.rc関数を使用して、デフォルトの図のサイズを変更しています。これで、作成されたすべてのプロットは、サイズが10x5インチになります。

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

Pandasデータフレームを視覚化するためにMatplotlibを使用することに加えて、PyGWalkerと呼ばれるオープンソースのPythonライブラリもあります:[PyGWalker](https://github.com/Kanaries/pygwalker)。 (opens in a new tab)

[![データビジュアライゼーションのためのPyGWalker](https://user-images.githubusercontent.com/8137814/221879671-70379d15-81ac-44b9-b267-a8fa3842a0d9.png)]( (opens in a new tab)https://github.com/Kanaries/pygwalker) (opens in a new tab)

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


ここでは、Jupyter NotebookでPyGWalkerを使用する方法を説明します。

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

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

| [Kaggle NotebookでPyGWalkerを実行する](https://www.kaggle.com/asmdef/pygwalker-test)| (opens in a new tab) [Google ColabでPyGWalkerを実行する](https://colab.research.google.com/drive/171QUQeq-uTLgSj1u-P9DQig7Md1kpXQ2?usp=sharing)| (opens in a new tab) [GithubでPyGWalkerに⭐️を付ける](https://github.com/Kanaries/pygwalker)| (opens in a new tab) |:---:|:---:|:---:| | [![Kaggle NotebookでPyGWalkerを実行する](https://docs-us.oss-us-west-1.aliyuncs.com/img/blog-cover-images/pygwalker-kaggle.png)]( (opens in a new tab)https://www.kaggle.com/asmdef/pygwalker)| (opens in a new tab) [![Google ColabでPyGWalkerを実行する](https://docs-us.oss-us-west-1.aliyuncs.com/img/blog-cover-images/pygwalker-google-colab.png)]( (opens in a new tab)https://colab.research.google.com/drive/171QUQeq-uTLgSj1u-P9DQig7Md1kpXQ2?usp=sharing)| (opens in a new tab) [![GithubでPyGWalkerに⭐️を付ける](https://docs-us.oss-us-west-1.aliyuncs.com/img/blog-cover-images/pygwalker-github-star.png)]( (opens in a new tab)https://github.com/Kanaries/pygwalker)| (opens in a new tab)

PyGWalkerは、オープンソースコミュニティのサポートに基づいて構築されています。 PyGWalker GitHubをチェックして、スターを付けてください!

よくある質問:

  1. Matplotlibで図のサイズを設定するにはどうすればよいですか?

    figure()関数をfigsizeパラメータとともに使用して、Matplotlibで図のサイズを設定できます。 figsizeパラメータは、図の幅と高さをインチで表すタプルを受け入れます。

  2. Matplotlibで既存の図のサイズを調整するにはどうすればよいですか?

    既存の図のサイズを調整するには、 set_size_inches()関数を使用してください。この関数により、現在の図の幅と高さを設定できます。

  3. Pandasプロットで図のサイズを設定できますか?

    はい、Pandas plot()関数内で直接図のサイズを調整できます。 figsizeパラメータを使用してください。