[解決済み] Jupyter Notebook: ウィジェットを使ったインタラクティブなプロット
2022-03-09 09:57:08
質問
ウィジェットに依存したインタラクティブなプロットを生成しようとしています。 問題は、スライダーを使ってパラメータを変更したとき、前のプロットの後に新しいプロットが作成されることです。
例
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
def plot_func(freq):
x = np.linspace(0, 2*np.pi)
y = np.sin(x * freq)
plt.plot(x, y)
interact(plot_func, freq = widgets.FloatSlider(value=7.5,
min=1,
max=5.0,
step=0.5))
スライダーを4.0に動かした後は
スライダーを動かすと、1つの図形が変化するようにしたいのですが。 どうすれば実現できるでしょうか?
(Python 2.7, matplotlib 2.0 を使用し、notebook と jupyter を最新のバージョンに更新しました。)
どのように解決するのですか?
図を変更したいとのことですので、新規に作成するのではなく、以下の方法をお勧めします。
-
インタラクティブなバックエンドを使用する。
%matplotlib notebook
- プロットの線を新しく引くのではなく、更新する。
つまり、コードは次のようになります。
%matplotlib notebook
from ipywidgets import *
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * np.pi)
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
line, = ax.plot(x, np.sin(x))
def update(w = 1.0):
line.set_ydata(np.sin(w * x))
fig.canvas.draw_idle()
interact(update);
または
plt.show()
のように
この答え
.
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
Python jiabaライブラリの使用方法について説明
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] Matplotlibでプロットを表示するのではなく、画像ファイルに保存する。
-
[解決済み] Matplotlib で凡例をプロットの外側に配置する方法
-
[解決済み] IPythonノートブック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 string splicing.join()とsplitting.split()の説明
-
python implement mysql add delete check change サンプルコード
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない