2009-11-05 5 views
8

Matplotlibが画面上に数字を配置する場所を制御できますか?Matplotlibを使用した複数のFigure配置

重複しない4つの図形(4つの別々のウィンドウ)を生成したいとします。

+0

もう少し情報が参考になります。どのようなOSですか? 1つの図に4つの軸を持つだけでは不十分だと思います。しかし、なぜ? 4つの別々のウィンドウを優先させる理由は何ですか?プロットをインタラクティブ/アニメーションにする必要がありますか? – Paul

答えて

0

show()とMatplotlibを単独で使用していません。最も簡単な解決策は、savefig(..)を使用し、お気に入りのOSイメージビューアを使用することです。プロットとの対話性が必要な場合、Matplotlibはbackendsを提供しています。

0

私が知っている最も簡単な方法は、好みのGUIアプリケーションでFigureのウィンドウを作ってから、このウィンドウにmatplotlib Figureを置くことです。さまざまなGUIフレームワークを使用してこの埋め込みを行う方法の例がたくさんありますhere

コードサンプルは少し複雑に見える場合がありますが、ほんの数行を変更する必要がある場合はほとんどの定型文です。

あなたが次の操作を行うことができます IPythonから
8

import pylab as pl 
pl.figure() 
pl.get_current_fig_manager().window.wm_geometry("400x600+20+40") 
pl.show() 

注これはあなたがTkAggバックエンドを使っていると仮定していること:Pythonスクリプトで

figure() 
get_current_fig_manager().window.wm_geometry("400x600+20+40") 

または同等にします。

+0

これは私が必要としていたものです。ありがとう。スクリプトの前に次の2行を追加して、Macで動かせるようにしました:>>> import matplotlib; >>> matplotlib.use( 'TkAgg') – David

+0

+1:私の提案よりもよく知っていることは素晴らしいです。 – tom10

+2

あなたの答えが正しい場合は、受け入れてください。 –

3

同様の結果を得るために、QtのバックエンドとIPythonインタフェースを使用することも可能である:f_managerで

import matplotlib 
import pylab as pl 
f1 = pl.figure() 
f_manager = pl.get_current_fig_manager() 
f_manager.window.move(600, 600) 
pl.show() 

あなたは基本的に好きなようにあなたは、ウィンドウのプロパティを変更することができますPyQt4オブジェクトを持っています。

関連する問題