matplotlibをtkinterキャンバスに埋め込むと、2つのウィンドウが開きます

トーマス・ボールドウィン

私が取り組んでいる次のコードは、私が望むように動作しません。matplotlibグラフをtkinterキャンバスに埋め込みました。プログラムは2つのウィンドウを開き、1つは正しく機能し、もう1つは不要です。これを修正する方法がわかりません。これがコードです。不要なインポートは無視してください:)

import numpy as np
import sys
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import matplotlib as mpl
from matplotlib import cm
from numpy.random import random
from matplotlib.widgets import Button
import matplotlib.colors
import tkinter as tk
import matplotlib.backends.tkagg as tkagg
from matplotlib.backends.backend_agg import FigureCanvasAgg
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

DEBUG_MODE = False                          #Debug mode - True = ON
MATRIX_WIDTH = 50
MATRIX_HEIGHT = 50
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600
LED_COUNT = MATRIX_WIDTH * MATRIX_HEIGHT
REFRESH_RATE = 30                           #REFRESH_RATE used to control FuncAnimation interval
MATRIX = random((50,50))                    #Fills MATRIX as not to be null for first print  


plt.rcParams['toolbar'] = 'None'            #Disables matplotlib toolbar
fig = plt.figure(figsize=(3,3))             #'figsize' measured in inches
im = plt.imshow(MATRIX, interpolation='nearest', cmap=cm.Spectral)
plt.axis('off')                             #Turns off x, y axis

def data_gen():                             #Generates amd populates MATRIX with pattern data
    while True:        
        MATRIX = random((MATRIX_WIDTH, MATRIX_HEIGHT))
        yield MATRIX
        if (DEBUG_MODE): print("MATRIX yeilded")

def update(data):                           #Updates/prints new MATRIX from data_gen()
    im.set_array(data)
    if (DEBUG_MODE): print("Updated data")



root = tk.Tk()
label = tk.Label(root,text="Matrix Program").grid(column=0, row=0)
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.get_tk_widget().grid(column=0,row=1)


ani = animation.FuncAnimation(fig, update, data_gen, interval=REFRESH_RATE)
plt.show()

ライブmatplotlibグラフが埋め込まれたtkinterから1つのキャンバスのみを開くように、このコードに何をする必要がありますか?

キャンバスのサイズを設定するにはどうすればよいですか?

ImportanceOfBeingErnest

plt.show()tk GUI内にフィギュアを表示したい場合は、電話をかけないでください。pyplot埋め込むときは、まったく使用しないことをお勧めします。

一方、tk.mainloop()ある時点でメインループを開始したい場合があります

matplotlibフィギュアをtkに埋め込む方法については、matplotlibの例参照してください

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

TKinterウィンドウにpyplotを埋め込む

分類Dev

Tkinterは2つのウィンドウを開きます

分類Dev

Tkinter:テキストウィジェットをキャンバスウィジェットに埋め込む方法

分類Dev

ArduinoからのMatplotlibライブプロットデータをtkinterキャンバスに埋め込む

分類Dev

NSDocumentベースのアプリを開くと、2つのウィンドウが読み込まれます

分類Dev

2 つの Tkinter ウィンドウを同時に開くことはできますか?

分類Dev

pyqtに埋め込まれた複数のmatplotlibキャンバスは、マウスオーバーでサイズを変更します

分類Dev

tkinterウィンドウにpyplotを埋め込み、更新します

分類Dev

キャンバスがpyqtでドラッグされたときに、キャンバスをウィンドウにバインドします

分類Dev

現在のウェブページの上部にキャンバス要素を埋め込む方法は?

分類Dev

埋め込まれたGoogleマップで個別に情報ウィンドウを開きます

分類Dev

tkinterキャンバスをHTMLWebページに埋め込む方法はありますか?

分類Dev

PygameウィンドウをTkinterまたはWxPythonフレームに埋め込む

分類Dev

matplotlibウィンドウと同時にtkinterウィンドウを開きたいですか?

分類Dev

tkinterウィンドウに表示されるタイマーを作成するためのForループですが、ウィンドウを開きません

分類Dev

ExcelシートをWPFウィンドウに埋め込む

分類Dev

QFrame内にIEウィンドウを埋め込む

分類Dev

280を超える要素を含むキャンバスに埋め込まれたTkinterのグリッドの予期しない動作

分類Dev

PyQt5のメインウィンドウにウィンドウを埋め込む方法

分類Dev

メインのTkinterウィンドウに依存するTkinterキャンバスを初期化する方法

分類Dev

JSを使用して作成した場合とHTMLに埋め込む場合では、HTMLキャンバスの座標が異なります。

分類Dev

Matplotlibは、ファイルに書き込むだけでなく、常にすべてのプロットに対してウィンドウを開きます

分類Dev

2つのウィンドウを1つにまとめる

分類Dev

新しいウィンドウで開いたときに画像がキャンバスに描画されない

分類Dev

私はこの2つのコレクション、つまりInwardとOutwardを持っています。どちらのコレクションにも、製品、バッチ、および数量のフィールドを含む同様の埋め込みサブドキュメントがあります。

分類Dev

Sublimeは2つのウィンドウを開きます

分類Dev

テキストが間違ったウィンドウで開きますtkinter

分類Dev

Matplotlibキャンバスのインスタンスをpyqtに埋め込みます-プロットが表示されません

分類Dev

python-vlcはgtkウィジェットをウィンドウに埋め込みませんが、代わりに新しいウィンドウを開きます

Related 関連記事

  1. 1

    TKinterウィンドウにpyplotを埋め込む

  2. 2

    Tkinterは2つのウィンドウを開きます

  3. 3

    Tkinter:テキストウィジェットをキャンバスウィジェットに埋め込む方法

  4. 4

    ArduinoからのMatplotlibライブプロットデータをtkinterキャンバスに埋め込む

  5. 5

    NSDocumentベースのアプリを開くと、2つのウィンドウが読み込まれます

  6. 6

    2 つの Tkinter ウィンドウを同時に開くことはできますか?

  7. 7

    pyqtに埋め込まれた複数のmatplotlibキャンバスは、マウスオーバーでサイズを変更します

  8. 8

    tkinterウィンドウにpyplotを埋め込み、更新します

  9. 9

    キャンバスがpyqtでドラッグされたときに、キャンバスをウィンドウにバインドします

  10. 10

    現在のウェブページの上部にキャンバス要素を埋め込む方法は?

  11. 11

    埋め込まれたGoogleマップで個別に情報ウィンドウを開きます

  12. 12

    tkinterキャンバスをHTMLWebページに埋め込む方法はありますか?

  13. 13

    PygameウィンドウをTkinterまたはWxPythonフレームに埋め込む

  14. 14

    matplotlibウィンドウと同時にtkinterウィンドウを開きたいですか?

  15. 15

    tkinterウィンドウに表示されるタイマーを作成するためのForループですが、ウィンドウを開きません

  16. 16

    ExcelシートをWPFウィンドウに埋め込む

  17. 17

    QFrame内にIEウィンドウを埋め込む

  18. 18

    280を超える要素を含むキャンバスに埋め込まれたTkinterのグリッドの予期しない動作

  19. 19

    PyQt5のメインウィンドウにウィンドウを埋め込む方法

  20. 20

    メインのTkinterウィンドウに依存するTkinterキャンバスを初期化する方法

  21. 21

    JSを使用して作成した場合とHTMLに埋め込む場合では、HTMLキャンバスの座標が異なります。

  22. 22

    Matplotlibは、ファイルに書き込むだけでなく、常にすべてのプロットに対してウィンドウを開きます

  23. 23

    2つのウィンドウを1つにまとめる

  24. 24

    新しいウィンドウで開いたときに画像がキャンバスに描画されない

  25. 25

    私はこの2つのコレクション、つまりInwardとOutwardを持っています。どちらのコレクションにも、製品、バッチ、および数量のフィールドを含む同様の埋め込みサブドキュメントがあります。

  26. 26

    Sublimeは2つのウィンドウを開きます

  27. 27

    テキストが間違ったウィンドウで開きますtkinter

  28. 28

    Matplotlibキャンバスのインスタンスをpyqtに埋め込みます-プロットが表示されません

  29. 29

    python-vlcはgtkウィジェットをウィンドウに埋め込みませんが、代わりに新しいウィンドウを開きます

ホットタグ

アーカイブ