matplotlibの使用についての私の基本的な理解から、あなたは希望のpltをいくつかの 'fig'に保存してから、canvas.draw()操作を使って 'fig'を描くことができます。これが当てはまる場合、私は何の問題もないはずですが、私が行ったことから、正確に何が起こっているのか、キャンバス上に何かを得る背後にある論理は何か。また、最終目標はQtPyウィンドウ内にこのプロットを表示することです。これまでの結果は、私はウィンドウとキャンバスを表示することができますが、キャンバスは空になります。私はhttp://matplotlib.sourceforge.net/users/artists.htmlを見ていて、やっていることが間違っているわけではないと感じていますが、おそらく私はいくつかのニュアンスを見落としています。ここで私が参照しているコードされていますmatplotlibでfigを描くキャンバスを得ることができません
def drawThis(self):
self.axes.clear()
self.axes.grid(self.grid_cb.isChecked())
self.fig = plt.figure(figsize=(11,7),dpi=self.dpi)
file = fileList[selFile]
valid = [sColumn]
matrix = np.loadtxt(file, skiprows=1, usecols=valid)
colCount = np.loadtxt(file, dtype=object)
totalCols = colCount.shape[1]
kdeData = np.array(matrix)
dataRange = (Decimal(max(abs(kdeData)))/10).quantize(1, rounding=ROUND_UP) * 10
gkde = stats.gaussian_kde(kdeData)
ind = np.linspace(-int(dataRange), int(dataRange), len(kdeData) * sSamples)
kdepdf = gkde.evaluate(ind)
##plot histogram of sample
plt.hist(kdeData, len(kdeData), normed=1, alpha=0.20)
##plot data generating density
plt.plot(ind, stats.norm.pdf(ind), 'r', linewidth=0.8, label='DGP normal')
##plot estimated density
plt.plot(ind, kdepdf, 'g', linewidth=0.8, label='kde')
plt.title('KDE for '+ str(nameList[selFile]))
plt.legend()
self.fig.canvas.draw()
私は、作成しているウィンドウでグラフをインスタンス化するプロセスを誤解していると思います。実際に私が行っていたことを作成するために、サンプルで見つけたコードの一部を使用しましたが、実際にキャンバスに表示されている「self.axes」ではなく、pltをpltに保存していました。最後に、私がpyplotを使って生成したデータで何もしていないと述べた後、これを実現しました。 – DamianJ