plt.plot()呼び出しが他のセルで行われる場合、plt.show()は空です。

Blokyk

環境

物理学の割り当てのためにJupyterノートブックを作成する必要があり、いくつかの量の進化などを示すグラフを描画する必要があります...

私が書いたコードのほぼすべての行をplot()、私の問題の原因である呼び出しを含め、毎回コードセルとMarkdownセルを交互に使用して説明する必要があります。非常に簡単に言えば、私は次のようなものを持っています:


私のコード

最初にmatplotlib.pyplotモジュールをインポートします:

from matplotlib import pyplot as plt

次に、データから値のリストを作成します。

# making up stuff
x_values = range(10)
doubles = [x * 2 for x in x_values]
squares = [x**2 for x in x_values]

まず、次の曲線をプロットしますdoubles

%matplotlib inline

plt.plot(x_values, doubles, color='red', label='x * 2')

ダブルスのグラフが表示されます(ダブルスのみ)

次に、プロットしますsquares

%matplotlib inline

plt.plot(x_values, squares, color='red', label='x^2')

正方形のグラフが表示されます(正方形のみ)

そして最後に、グラフを構成して表示します。

%matplotlib inline

plt.xlabel("x")
plt.ylabel("f(x)")
plt.ylim(0, 50)
plt.xlim(0, 11)
plt.legend()
plt.grid(True)
plt.show()

ラベル、グリッド、制限が正しく設定された空のグラフが表示されますが、曲線や凡例はまったく表示されません


期待される

最後のセルは、2つの曲線と凡例、および構成したすべてのものを含むグラフを示しています。

何が起こるか/私の問題

最後のセルは、曲線や凡例のない空のグラフを示しています

私が試したこと

ただし、plot()他のすべてのものを使用して最後のセルに呼び出しを配置しようとすると、曲線や凡例などを含む期待されるグラフが得られます...しかし、残念ながら、実際の割り当てではそれを行うことはできません:/

また、%matplotlib inline行のほぼすべての値を試しました。複数のセル、複数の配置などを試しましたが、問題は解決しません。

少しグーグルすると、ノートブックの最初の行はmatplotlibなどに関して少し異なる動作をしているように見えますが、これは私のノートブックの最初のセルに近いわけではないので、そうではありません。

正直なところ、なぜそうなるのかわかりません。pyplotある種のステートマシンとして機能する場所を読んだと思うので、複数の行にまたがって混乱しているかもしれませんが、他のこと(ラベル、スタイルなど)については期待どおりに機能します。私は今無知です。

だから私の質問は:これは通常の動作ですか、それはバグですか、それとも何かが足りないだけですか?

編集作品を使用fig, ax = plt.subplots(1, 1)してプロットするように見えますaxが、問題は、簡単に説明できない複雑さを追加し、かなり不格好であり、「同じセルにあるときになぜそれが機能するのか」と答えないことです、しかし、線が異なるセルにある場合はそうではありませんか?」

Arne

これは、JupyterNotebookの正常な動作です。1つのプロットのすべてのコマンドが同じセルにあることを想定し、セルが終了すると、プロットをレンダリングします。だからあなたは必要ありませんplt.show()ちなみに、%matplotlib inline異なる表示モードを切り替えたい場合を除いて、IPythonマジックコマンドはノートブックごとに1回だけ必要です。

プロットコマンドのすべての行に注釈を付けるには、もちろん、セル内でPythonコメントを使用することもできます。Markdownを使用する必要がある場合、簡単な回避策は、コマンドラインを番号コメントで列挙するか、特定の重要な行にメモを設定してから、次のMarkdownセルでこれらの番号を参照することです。

この注釈の問題はプロットに固有のものではないことに注意してください。たとえば、関数定義のすべての行にどのように注釈を付けますか?定義全体を1つのセルに含める必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

gccが関数呼び出しのためにPLTを参照しないのはなぜですか?

分類Dev

matplotlibでplt.show()を呼び出したときにプロットが表示されません

分類Dev

plt.showとplt.savefigは異なる結果をもたらします

分類Dev

plt.showとplt.savefigは異なる結果をもたらします

分類Dev

matplotlibでは、plt.plot()ではなく、plt.scatter()の前にログスケールを設定する必要があるのはなぜですか?

分類Dev

plt.show()がAnacondaPythonを使用するOSXでハングする

分類Dev

ループで呼び出すと、plt.savefig()のパフォーマンスが低下するのはなぜですか?

分類Dev

plt.plotでグラフが表示されないのはなぜですか?

分類Dev

matplotlib: plt.show() には 3 つの図が表示されます

分類Dev

MacでPythonを使用してplt.show()を最大化する方法は?

分類Dev

plt.show() is empty when the plt.plot() calls are done in other cells

分類Dev

plt.quiverを使用する

分類Dev

plt.show() hangs on OSX with Anaconda Python

分類Dev

plt.plot()、object.plot()の違いは何ですか

分類Dev

df.plotを使用してプロットを作成できるのに、pltオブジェクトを呼び出して表示されているプロットを変更できるのはなぜですか?

分類Dev

「from matplotlib import pyplot as plt」==「import matplotlib.pyplot as plt」ですか?

分類Dev

matplotlibのplt.draw()とplt.show()の違い

分類Dev

IPython Notebookは、plt.show()の後にセルの評価を停止します

分類Dev

plt.savefigが機能しないのはなぜですか?

分類Dev

Jupyterはplt.show()なしでプロットを表示します

分類Dev

matplotlab: plt.figure() は空の図を作成します

分類Dev

Matplotlibはプロットを2回プロットしていますが、plt.plotは1回しか呼び出されませんか?

分類Dev

matplotlib plt.show()のエクステントを設定するにはどうすればよいですか?

分類Dev

plt.showで使用するとcv2.imshowが機能しない

分類Dev

内部libc関数呼び出しは.pltを経由する必要がありますか

分類Dev

plt.show() が正しく実行されない

分類Dev

plt.subplotsを使用する場合のFigureのサイズ

分類Dev

plt.show()がpycharmで機能しない

分類Dev

plt.savefigはPythonで空白の図を生成します

Related 関連記事

  1. 1

    gccが関数呼び出しのためにPLTを参照しないのはなぜですか?

  2. 2

    matplotlibでplt.show()を呼び出したときにプロットが表示されません

  3. 3

    plt.showとplt.savefigは異なる結果をもたらします

  4. 4

    plt.showとplt.savefigは異なる結果をもたらします

  5. 5

    matplotlibでは、plt.plot()ではなく、plt.scatter()の前にログスケールを設定する必要があるのはなぜですか?

  6. 6

    plt.show()がAnacondaPythonを使用するOSXでハングする

  7. 7

    ループで呼び出すと、plt.savefig()のパフォーマンスが低下するのはなぜですか?

  8. 8

    plt.plotでグラフが表示されないのはなぜですか?

  9. 9

    matplotlib: plt.show() には 3 つの図が表示されます

  10. 10

    MacでPythonを使用してplt.show()を最大化する方法は?

  11. 11

    plt.show() is empty when the plt.plot() calls are done in other cells

  12. 12

    plt.quiverを使用する

  13. 13

    plt.show() hangs on OSX with Anaconda Python

  14. 14

    plt.plot()、object.plot()の違いは何ですか

  15. 15

    df.plotを使用してプロットを作成できるのに、pltオブジェクトを呼び出して表示されているプロットを変更できるのはなぜですか?

  16. 16

    「from matplotlib import pyplot as plt」==「import matplotlib.pyplot as plt」ですか?

  17. 17

    matplotlibのplt.draw()とplt.show()の違い

  18. 18

    IPython Notebookは、plt.show()の後にセルの評価を停止します

  19. 19

    plt.savefigが機能しないのはなぜですか?

  20. 20

    Jupyterはplt.show()なしでプロットを表示します

  21. 21

    matplotlab: plt.figure() は空の図を作成します

  22. 22

    Matplotlibはプロットを2回プロットしていますが、plt.plotは1回しか呼び出されませんか?

  23. 23

    matplotlib plt.show()のエクステントを設定するにはどうすればよいですか?

  24. 24

    plt.showで使用するとcv2.imshowが機能しない

  25. 25

    内部libc関数呼び出しは.pltを経由する必要がありますか

  26. 26

    plt.show() が正しく実行されない

  27. 27

    plt.subplotsを使用する場合のFigureのサイズ

  28. 28

    plt.show()がpycharmで機能しない

  29. 29

    plt.savefigはPythonで空白の図を生成します

ホットタグ

アーカイブ