wxPython中显示直方图

一 代码

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import wx
import wx.xrc

def showchart():
    name_list = ['lambda=0', 'lambda=0.05', 'lambda=0.1', 'lambda=0.5']
    num_list = [52.4, 57.8, 59.1, 54.6]
    rects=plt.bar(range(len(num_list)), num_list, color='rgby')
    # X轴标题
    index=[0,1,2,3]
    index=[float(c)+0.4 for c in index]
    plt.ylim(ymax=80, ymin=0)
    plt.xticks(index, name_list)
    plt.ylabel("arrucay(%)") #X轴标签
    for rect in rects:
        height = rect.get_height()
        plt.text(rect.get_x() + rect.get_width() / 2, height, str(height)+'%', ha='center', va='bottom')
    plt.show()


class MyFrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString,
                          pos=wx.DefaultPosition,size=wx.Size(571, 459),
                          style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)
        bSizer11 = wx.BoxSizer(wx.VERTICAL)
        bSizer15 = wx.BoxSizer(wx.HORIZONTAL)
        self.m_button8 = wx.Button(self, wx.ID_ANY, u"确定",
                                   wx.DefaultPosition, wx.Size(100, 50), 0)
        bSizer15.Add(self.m_button8, 0, wx.ALL, 5)
        bSizer11.Add(bSizer15, 0, wx.EXPAND, 5)
        self.SetSizer(bSizer11)
        self.Layout()
        self.Centre(wx.BOTH)
        # Connect Events
        self.m_button8.Bind(wx.EVT_BUTTON, self.m_button8OnButtonClick)

    def __del__(self):
        pass
    def m_button8OnButtonClick(self, event):
        showchart()
#测试
if __name__=='__main__':
    app=wx.App()
    window=MyFrame(None)
    window.Show()
    app.MainLoop()

二 测试

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值