ラベル matplotlib の投稿を表示しています。 すべての投稿を表示
ラベル matplotlib の投稿を表示しています。 すべての投稿を表示

2012年1月10日火曜日

matplotlibで日本語

ここを参考にさせて頂きました。knaka20blueさんありがとうございます。
前の投稿分に日本語でタイトル追加。
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Used to guarantee to use at least Wx2.8
import wxversion
wxversion.ensureMinimal('2.8')

import wx
import wx.aui
import matplotlib
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx
import matplotlib.font_manager as fm

class Plot(wx.Panel):
    def __init__(self, parent, id = -1, dpi = None, **kwargs):
        wx.Panel.__init__(self, parent, id=id, **kwargs)

        self.figure = matplotlib.figure.Figure(dpi=dpi, figsize=(2,2))
        self.canvas = FigureCanvasWxAgg(self, -1, self.figure)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.canvas, 1, wx.EXPAND)
        self.SetSizer(sizer)

    def get_figure(self):
        return self.figure

def demo():
    app = wx.PySimpleApp()
    frame = wx.Frame(None, -1, 'Plotter')

    plot = Plot(frame)
    sizer = wx.BoxSizer()
    sizer.Add(plot, 1, wx.EXPAND)
    frame.SetSizer(sizer)

    axes = plot.get_figure().gca()
    axes.plot([1, 2, 3, 4, ],[2, 1, 4, 1, ])
    prop = fm.FontProperties(fname='/usr/share/fonts/opentype/ipafont/ipag.ttf')
    plot.get_figure().gca(kwargs='title').set_title(u'グラフだぴょーん', size='24', fontproperties=prop)

    frame.Show()
    app.MainLoop()

if __name__ == "__main__":
    demo()

matplotlibでグラフ

GL220を使って取り込んだデーターをグラフ化したい。
探してきたのは「matplotlib」
wxWidgetsともバインドできるらしい。という事でサンプルを見てみたが、手が込んでいて猿脳にはわからない。ということで最小限化してみた。
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Used to guarantee to use at least Wx2.8
import wxversion
wxversion.ensureMinimal('2.8')

import wx
import wx.aui
import matplotlib
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
from matplotlib.backends.backend_wxagg import NavigationToolbar2Wx

class Plot(wx.Panel):
    def __init__(self, parent, id = -1, dpi = None, **kwargs):
        wx.Panel.__init__(self, parent, id=id, **kwargs)

        self.figure = matplotlib.figure.Figure(dpi=dpi, figsize=(2,2))
        self.canvas = FigureCanvasWxAgg(self, -1, self.figure)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.canvas, 1, wx.EXPAND)
        self.SetSizer(sizer)

    def get_figure(self):
        return self.figure

def demo():
    app = wx.PySimpleApp()
    frame = wx.Frame(None, -1, 'Plotter')

    plot = Plot(frame)
    sizer = wx.BoxSizer()
    sizer.Add(plot, 1, wx.EXPAND)
    frame.SetSizer(sizer)

    axes = plot.get_figure().gca()
    axes.plot([1, 2, 3, 4, ],[2, 1, 4, 1, ])

    frame.Show()
    app.MainLoop()

if __name__ == "__main__":
    demo()
もとは、embedding_in_wx5.py 。wxPanel上にFigureCanvasWxAggを重ねて、そのパネルをwxFrameにwxBoxSizerで貼りつけた。