[解決済み] matplotlib で plot, axes, figure を使ってプロットを描くことの違いは何ですか?
2022-06-08 14:41:01
質問
matplotlibでプロットを描くとき、バックエンドで何が起こっているのかよくわかりません。ドキュメントを読んで、それは役に立ちましたが、私はまだ混乱しています....
以下のコードは、同じプロットを3つの異なる方法で描画します。
#creating the arrays for testing
x = np.arange(1, 100)
y = np.sqrt(x)
#1st way
plt.plot(x, y)
#2nd way
ax = plt.subplot()
ax.plot(x, y)
#3rd way
figure = plt.figure()
new_plot = figure.add_subplot(111)
new_plot.plot(x, y)
さて、私の質問は - です。
-
3つのメソッドの違いは何でしょうか。つまり、3つのメソッドのいずれかが呼び出されたとき、フードの下では何が起こっているのでしょうか。
-
どのメソッドをいつ使うべきで、どれを使うことの長所と短所は何ですか?
どのように解決するのですか?
方法1
plt.plot(x, y)
これは、(x,y)座標で1つの図形だけをプロットすることができます。もし、1つの図形を取得したいだけであれば、この方法を使用することができます。
方法2
ax = plt.subplot()
ax.plot(x, y)
これは、1つまたは複数の図を同じウィンドウにプロットするものです。このままでは1つの図しか描画されませんが、このようなものを作ることもできます。
fig1, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
ax1、ax2、ax3、ax4と名付けた4つの図形を、それぞれ同じウィンドウに描画します。このウィンドウは、私の例ではちょうど4分割になります。
方法3
fig = plt.figure()
new_plot = fig.add_subplot(111)
new_plot.plot(x, y)
私は使いませんでしたが、ドキュメントが見つかります。
例です。
import numpy as np
import matplotlib.pyplot as plt
# Method 1 #
x = np.random.rand(10)
y = np.random.rand(10)
figure1 = plt.plot(x,y)
# Method 2 #
x1 = np.random.rand(10)
x2 = np.random.rand(10)
x3 = np.random.rand(10)
x4 = np.random.rand(10)
y1 = np.random.rand(10)
y2 = np.random.rand(10)
y3 = np.random.rand(10)
y4 = np.random.rand(10)
figure2, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
ax1.plot(x1,y1)
ax2.plot(x2,y2)
ax3.plot(x3,y3)
ax4.plot(x4,y4)
plt.show()
他の例です。
関連
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] Matplotlibでプロットを表示するのではなく、画像ファイルに保存する。
-
[解決済み] matplotlib のプロットで軸のテキストを非表示にする
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み】Matplotlibで図のタイトルと軸ラベルのフォントサイズを設定するには?
-
[解決済み] matplotlib のプロットでフォントサイズを変更する方法
-
[解決済み】matplotlibの凡例を軸の外側に移動させると、図形の枠で切り取られる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Pythonによるjieba分割ライブラリ
-
python implement mysql add delete check change サンプルコード
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python入門 openを使ったファイルの読み書きの方法
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】ValueError: xとyは同じサイズでなければならない