0

別の GtkNotebook タブと異なるクラスに次のコードがあります。

プロット番号 1:

        self.vsm_fig = plt.figure(1)  
        subplots_adjust(bottom=0.20)
        self.vsm_canvas = FigureCanvas(self.vsm_fig)  
        self.vsm_chart_vbox.pack_start(self.vsm_canvas)
        self.vsm_toolbar = NavigationToolbar(self.vsm_canvas, self.vsm_chart_vbox)
        self.vsm_chart_vbox.pack_start(self.vsm_toolbar,False,False, 3)

        if len(results_vsm) >= 1: 
            for key,value in results_vsm.items():   
                plt.plot([0,1],[0,value], label=key) 
            plt.axis([0, 1, 0, 1])
            plt.legend()
            plt.show()
            self.vsm_canvas.draw() 

プロット 2:

        self.tf_idf_fig = plt.figure(2)     
        subplots_adjust(bottom=0.20)
        self.tf_idf_canvas = FigureCanvas(self.tf_idf_fig)  
        self.tf_idf_chart_vbox.pack_start(self.tf_idf_canvas)
        self.tf_idf_toolbar = NavigationToolbar(self.tf_idf_canvas, self.tf_idf_chart_vbox)
        self.tf_idf_chart_vbox.pack_start(self.tf_idf_toolbar,False,False, 3)

        if len(results_tfidf) >= 1:  
            plt.bar(*zip(*zip(count(), results_tfidf.values())))
            plt.title("TF IDF Chart")
            plt.xticks(*zip(*zip(count(), results_tfidf.keys())),rotation='vertical')
            plt.xlabel("Word")
            plt.ylabel("TF*IDF") 
            self.tf_idf_canvas.draw()  

2 番目のタブの self.tf_idf_canvas.draw() を実行すると、プロットが生成されないのはなぜですか。plt.show() で何が起こるかを確認しようとしましたが、その結果、2 つのプロットが生成されました。

4

1 に答える 1