雲雀は高く空を舞い このページをアンテナに追加 RSSフィード

「ひよこは高く空を舞い」について

2009-10-09

[]matplotlib backend matplotlib backend - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - matplotlib backend - 雲雀は高く空を舞い matplotlib backend - 雲雀は高く空を舞い のブックマークコメント

matplotlibでグラフを書くにはbackendにgraphic engineを指定する必要がある。とりあえずはこんな感じでok

import matplotlib

matplotlib.set('TkAgg')

こちらによるとbackendには色々選べるようで

GTKAgg
Gimp系みたい。Agg rendering to a GTK canvas (requires PyGTK)
GTK
GDK rendering to a GTK canvas (not recommended) (requires PyGTK)
GTKCairo
Cairoつかえるの?Cairo rendering to a GTK Canvas (requires PyGTK)
WXAgg
exWidgetsをつかえるとか。それぞれのOSネイティブ環境(の用な?)グラフィックが可能。Agg rendering to to a wxWidgets canvas (requires wxPython)
WX
Native wxWidgets drawing to a wxWidgets Canvas (not recommended) (requires wxPython)
TkAgg
何もインストールする事なく使えた。X11系?Agg rendering to a Tk canvas (requires TkInter)
QtAgg
Qt系。Agg rendering to a Qt canvas (requires PyQt)
Qt4Agg
最新のQt系。Agg rendering to a Qt4 canvas (requires PyQt4)
FLTKAgg
なんかよくわからないけどcross-platform/C++。Agg rendering to a FLTK canvas (requires pyFLTK)

AGGはこちら関係でAnti-Grain Geometryなもの、ちゃちゃっと見た感じアンチエイリアシングおよびサブピクセル精度のグラフィックを実現するもの、とか。AGGありとなしならとりあえずAGGを使っておけば良いんじゃないかしら。


とりあえず、wxaggが幸せそうな雰囲気がする。あとCairoはちょっと気になる。

追記

以下には特に有益な情報はありません。

とりあえずwxWidgets 2.9がportsに入ったら改めて挑戦します。


2

と思ったら

sudo port install py26-wxpython

にこけた。

のでおもむろに

sudo port install py26-gtk

3

あらためて

sudo port -d install py26-wxpython

見てみると2つエラーが出てて、

../src/common/intl.cpp:2060: error: 'smScriptLang' was not declared in this scope

../src/common/intl.cpp:2060: error: 'GetScriptVariable' was not declared in this scope

これは…と思って調べてみたらあった。

The reason is that the default compiler on 10.6 is gcc 4.2, and if you are on a Core 2 Duo which is 64-bit capable, you end up compiling Carbon-only 2.8 for 64 bits which fails, due to the lack of 64-bit Carbon support. If you want 64-bit wxWidgets on OS X you'll need 2.9+ and configure -with-osx_cocoa - see below; but remember that 2.9 is not an official, stable release and wxOSX/Cocoa is not yet complete.

Snow Leopardコンパイラがgcc4.2でC2Dは64bit動作可能で、とかなんとかでwxWidgets 2.8は32bit carbonでしか動かないからコンパイルにこける。

なんとか動かしたかったら2.9以上で-with-osx_cocoaにてコンパイルすれば良いけど、いまのところ2.9はアンオフィシャルで非安定でwxOSX/Cocoaはまだまだ作成途中だから覚悟しとけ。

http://wiki.wxwidgets.org/Development:_wxMac

とのこと。

So, to compile with 2.8 on a 64-bit Mac, you have to explicitly indicate the architectures you want:

wx2.8でなんとかしたかったら以下のようにするのが現実解。

つまり 32bit intel用にコンパイル。もしあれだったら -arch ppcも加えればユニバーサルバイナリにする事もできるよ

arch_flags="-arch i386"
./configure CFLAGS="$arch_flags" CXXFLAGS="$arch_flags" LDFLAGS="$arch_flags" OBJCFLAGS="$arch_flags" OBJCXXFLAGS="$arch_flags" ...

This makes the library and samples build nicely for Intel 32-bit targets, and you can also add -arch ppc to the arch_flags so that you can build universal binaries.

とのこと。うーん…32bit…。まぁいいか。

4

とおもったんだけど、wxWidgetsのページを見ると2.9は既にリリースされてるので

port install wxwidgets

としてみた。失敗した。

5

さすがにちょっとちゃんと調べてみようと言う事で検索。

こちらによると

  1. wxwidgets 2.8の32bitでいくか2.9でcocoa 64bitでいくかだけど、だいたい色々64bitになってるし2.9でてるしで今更2.8withCarbon32bitなんて嫌だよね
  2. port wxwidgets-develすればいいんじゃね?portfileあげるよ
  3. おー2.9がはいったありがとう!
  4. ありがとう!
  5. ありがとう!
  6. …あれ?
  7. py26-wxpythonはいらねい…?
  8. はいらないよsvn versionだけが2.9と互換性あるからね
  9. しょうがないな、ほら つ py26-wxpython-devel.portfile
  10. あなたが神か!<いまここ

ってことだった

6

……結局wxwidgesのインストールに失敗。2.9はもう既にリリースされてるんだし、待ってれば使えるようになるだろうという事でいいやにした。

7

pygtkもインストールしてみたけど、

import matplotlib

matplotlib.use('gtkagg')

などとしてもmatplotlib._backend_gdkがないよ、ってことになる。

これは

WxAgg?とかQtAgg?はmatplotlibのインストール前に pythonからwxWidgets、Qtなどのライブラリを呼び出せるようにしておく必要があります

no title

とのこと。あるいは、matplotlibのインストール時にetup.pyで例えば

BUILD_TKAGG = 1

とするとかみたい。

ちなみにno titleをみると

This port provides variants for the different GUIs (gtk2, tkinter, wxpython).

とのことなので、gtk2は使えるみたいだけど…。まぁTkAggが使えるからとりあえず良いにしてwxaggが使えるようになるのを待つかなぁ…

RobinsonRobinson2011/10/03 13:55I acuatlly found this more entertaining than James Joyce.

pcwmaxspcwmaxs2011/10/03 18:14Fi7WPH <a href="http://bpqaguzvfbxo.com/">bpqaguzvfbxo</a>

bqsadiobqsadio2011/10/05 00:15KIqeMq , [url=http://bvzncfpqdymf.com/]bvzncfpqdymf[/url], [link=http://fxgbqewsnmgc.com/]fxgbqewsnmgc[/link], http://azlrajevtnar.com/

amebxuyfrwamebxuyfrw2011/10/06 17:22GAgu6v <a href="http://fchquvejjirz.com/">fchquvejjirz</a>

テクノラティプロフィール