文章结束给大家来个程序员笑话:[M]

1、下载并安装合适自己Python的numpy安装包

2、下载并安装matplotlib

3、点击按钮实现画一个正弦波

from Tkinter import *

import matplotlib.pyplot as plt

import numpy as np

def draw_sin():

#draw a circle of sin

t = np.arange(1,256,1)

y = np.sin(2*np.pi*t/256)

plt.plot(t,y,'g')

plt.show()

root = Tk(className = 'DrawSin')

label = Label(root)

label['text'] = 'Draw Sin'

label.pack()

button = Button(root)

button['text'] = 'Draw'

button['command'] = draw_sin

button.pack()

root.mainloop()

效果

表现主菜单

点击按钮实现绘图

4、点击按钮实现波形的变更

#!usr/bin/env/python

#coding=utf-8

from Tkinter import *

import matplotlib.pyplot as plt

import numpy as np

import sys

#number of point

Number = 1024

#init frequency value

frequency = 1

#set the recur depth

sys.setrecursionlimit(1000000)

def draw_sin():

'''raw a circle of sin'''

#generate the time base

t = np.arange(1,Number,1)

#generate the signal

y = np.sin(2*np.pi*frequency*t/Number)

plt.plot(t,y)

plt.grid(True)

plt.text(900,0.75,'Frequency is '+str(frequency))

plt.show()

def frequency_plus():

'''function of add the frequency and plot the signal'''

#notice:frequency is a global variable

global frequency

frequency = frequency + 1

#clear a figure window

plt.clf()

draw_sin()

def my_button(root,label_text,button_text,button_func):

'''function of creat label and button'''

#label details

label = Label(root)

label['text'] = label_text

label.pack()

#label details

button = Button(root)

button['text'] = button_text

button['command'] = button_func

button.pack()

def main():

'''main function'''

root = Tk(className = 'DrawSin')

#draw button function

my_button(root,'Draw sin','click to Draw',draw_sin)

#frequency plus function

my_button(root,'Freq Plus','click to Plus',frequency_plus)

root.mainloop()

if __name__ == "__main__":

main()

每日一道理

生活中受伤难免,失败跌倒并不可怕,可怕的是因此而一蹶不振,失去了对人生的追求与远大的理想。没有一个人的前进道路是平平稳稳的,就算是河中穿梭航行的船只也难免颠簸,生活中所遇上的坎坷磨难不是偶尔给予的为难,而是必然所经受的磨练。

效果

表现主菜单

点击按钮实现频率改变

5、可能出现的问题

RuntimeError: maximum recursion depth exceeded

解决方法:

网上学习资料:

matplotlib手册

python使用matplotlib绘图

文章结束给大家分享下程序员的一些笑话语录:

很多所谓的牛人也不过如此,离开了你,微软还是微软,Google还是Google,苹果还是苹果,暴雪还是暴雪,而这些牛人离开了公司,自己什么都不是。

python 实现 画图器_按钮实现Python--绘图工具matplotlib的使用相关推荐

  1. python简单装饰器_简单介绍Python装饰器(一)

    装饰器的作用 相信大家在 探索过程中已经了解装饰器的作用,也有很多花里胡哨的介绍. 这次小冰也来讲解一下关于Python装饰器的一些小知识. 它的作用: 性能测试 日志 安全验证 ...... 相信大 ...

  2. python的调试器_玩转Python调试器

    如果你还只会使用print来定位python程序问题,那这篇文章就是为你写的,这篇文章将带你入门python调试器.python标准库提供了一个叫pdb的调试器,它提供了调试所需的绝大多数常用功能,比 ...

  3. python语言画图代码_零: python matplotlib 画图进阶(含完整代码)

    导论: 在科研和研究的过程中,无论是哪个学科或者将来走上工作岗位,可视化是非常重要的一个环节. 这里的重要性,在我看来有三点:人是视觉动物,老板看你工作做的怎么样,paper reviewer看你研究 ...

  4. python 宏处理库_常用的Python库,给大家分享一下!

    Tkinter---- Python默认的图形界面接口. Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组.Tcl/Tk是 ...

  5. python模块下载过程_常用的python模块及安装方法

    bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework ctypes:用来调用动态链接库 DBUti ...

  6. python 日志 装饰器_【Python】装饰器实现日志记录

    好的日志对一个软件的重要性是显而易见的.如果函数的入口都要写一行代码来记录日志,这种方式实在是太低效了,但一直没有找到更好的方法.后来用python写一些软件,了解到python的装饰器功能时,突然人 ...

  7. 什么是python装饰器_深入理解 Python 装饰器

    作者简介 曾凡伟,携程信息安全部高级安全工程师,2015年加入携程,主要负责安全自动化产品的设计和研发,包括各类扫描器.漏洞管理平台.安全 SaaS 平台等. Python 是一门追求优雅编程的语言, ...

  8. python 找到装饰器_[译] 12步轻松搞定python装饰器

    呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定python的装饰器,也许因为装饰器确实很难懂.搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数 ...

  9. python 调试器_如何使用Python调试器

    python 调试器 Python编程语言的强大功能和灵活性源于强大的标准库和丰富的第三方软件生态系统. Python程序员可以利用许多有用的工具,并且这些工具也可以扩展到调试. 可以使用许多具有调试 ...

最新文章

  1. 写出最感兴趣的软件测试工作,你还不会写测试用例?!注意这五点,写出模板级的测试用例!...
  2. thinkphp-add方法错误
  3. 利用setTimeout方法控制JS中方法的执行顺序
  4. (转载) Linux IO模式及 select、poll、epoll详解
  5. 施一公谈自己35岁和53岁的区别
  6. GHOST系统锁定主页常用软件及解决方案
  7. kafka(一)设计分析
  8. XCode中的Debug View Hierarchy功能
  9. pod install pod update
  10. 【心里效应】98 个著名的心理效应
  11. iphone6 修改版本iccid解锁
  12. Java动态数组ArrayList
  13. matlab双线性插值图像处理,数字图像处理:双线性插值
  14. 广东工业大学22级机械考研经验分享
  15. 计算机设备与驱动器空白图标,这个方法帮你删掉win10设备和驱动器里无效图标...
  16. QCC3040---Local name module
  17. Cardboard 凝视
  18. 映美Jolimark 24针打印机驱动
  19. windows7 64位系统安装CPU版本TensorFlow(anaconda3.6)
  20. Clutter为设备和开发增加了新酷元素

热门文章

  1. 如何实现办公自动化?
  2. 云服务器扩容系统盘优点,UCloud云服务器扩容系统盘且不影响已运行数据「还得备份」...
  3. Ubuntu22.04设置独显用于深度学习运算,核显用于屏幕显示
  4. moviepy音视频剪辑:使用mask遮罩实现视频叠加透明效果
  5. 国内外智能家居不同的发展路线比较
  6. java中引用数据类型
  7. 粒子群综合能源系统优化的matlab实现,储能电池也考虑在内。 目标函数为燃气成本+购电成本+碳排放费用之和,注释非常详细
  8. Vue 获取 当前日期
  9. ChatGPT来临,架构师何去何从?
  10. 曲面屏显示器好用吗?超宽屏显示器怎么样?