私はエラーになっていますPyDevは自動補完ポップアップでPyDevはSeaborn:「QPixmapの:GUIスレッド外ピックスマップを使用しても安全ではない」
QPixmapの:外のピックスマップを使用することは安全ではありませんGUIスレッド
手動EclipseでPyDevはを用い-shell ipython
でSeabornに次のステートメントを入力:この時点で
import matplotlib.pyplot as mpl
import seaborn as sns
import pandas as pd
import numpy as np
# Turn interactive mode off:
mpl.ioff()
# Create some example Data:
df = pd.DataFrame({'A':np.random.rand(20),'B':np.random.rand(20)})
# Create seaborn PairGrid instance:
pg = sns.PairGrid(df)
私は最後のステートメントをドットで続けます。
pg = sns.PairGrid(df).
その後、Eclipseはすべての補完のポップアップを表示しようとしているが、そのポップアップがすぐに閉じてきていると、コンソールは、前述のエラーでそれの42行を埋めなっている。このようなチェーンmap()
-method、正確である。
私は継続して問題なくこれを行うことができます。
gp = sns.PairGrid(df).map(mpl.scatter)
gp.fig.show()
そして私は、私のプロットだけで罰金を取得。 sns.JointGrid(df.A,df.B).
と
sns.FacetGrid(df).
周りに早く遊んで、私はまた、コンソールが実際にこのエラーによって殺されたような状況になっている間に行っているとき
同じことが起こる、私はもうこれにつながるステップを複製することはできません。
私はこのサイトを調べても、まったく使用していないスレッディングと同じように見えます。シーボーンはそれを使用していますか?
グリッド/フィギュアを作成して後でプロットすることでプロットを作成したいのですが、このエラーは、これが安全な方法ではないことを示唆していますが、Seabornのドキュメントでは、 :
https://seaborn.github.io/generated/seaborn.FacetGrid.html
EDIT:
gp.fig.show()
をやったとき、私は、エラーが、この警告が届かないスパイダーで同じことをやって:
C:\Anaconda2\lib\site-packages\matplotlib\figure.py:397: UserWarning:
matplotlib is currently using a non-GUI backend, so cannot show the figure
"matplotlib is currently using a non-GUI backend, "
インタラクティブモードがオフの場合、グラフィックは表示されません。対話モードではまだ警告が表示されますが、グラフィックはインラインで表示されます。
いずれの場合でもポップアップが表示されません。 Eclipseでは、エラーとポップアップの両方が表示されます。
EDIT 2:Eclipseのスクリプトでエラーが発生しないよう
は全部を実行すると、前述のように入力するだけでマニュアルはありません。
これは実際にはeclipse/pydevのようなものです。あなたはコンソールでこの同じ警告を受け取りますか? –
ええ、私はインスタンスオブジェクトの属性を得ることができるように 'sns.Pairgrid(df)'を評価しているスレッドがあると仮定しますが、そのスレッド(私の知識を超えているため)はプロットをしようとするとクラッシュします。 – mwaskom
@ Paul-H:提案していただきありがとうございます、私は新しい情報で自分の投稿を編集します。 – Khris