精华内容
下载资源
问答
  • 使用python中的Matplotlib +Tkinter 绘制3D图 Python提供了类似于MATLAB的2D绘图库,3D绘图库 将matplotlib绘制的图表镶嵌入tkinter做的界面中,tkinter是python的一个GUI库,有时候PC端UI界面上需要显示复杂的图时候...
  • matplotlib教程——matplotlibtkinter的集成

    万次阅读 多人点赞 2018-08-10 16:41:23
    一、matplotlibtkinter集成 我们在使用tkinter编写窗体程序的时候,希望做一些可视化的处理,即将matplotlib所化的图像与tkinter集成在一起显示, 二、实现代码 import math import numpy as np #-----------...

    一、matplotlib与tkinter集成

    我们在使用tkinter编写窗体程序的时候,希望做一些可视化的处理,即将matplotlib所化的图像与tkinter集成在一起显示,

    二、实现代码

    import math
    import numpy as np   
    #-------------------------------------------------------------------------------------------
    import matplotlib
    import matplotlib.pyplot as plt
    from matplotlib.pylab import mpl
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolbar2Tk #NavigationToolbar2TkAgg
    #------------------------------------------------------------------------------------------
    import tkinter as tk
    #------------------------------------------------------------------------------------------
    
    
    mpl.rcParams['font.sans-serif'] = ['SimHei']  #中文显示
    mpl.rcParams['axes.unicode_minus']=False      #负号显示
    
    class From:
        def __init__(self): 
            self.root=tk.Tk()                    #创建主窗体
            self.canvas=tk.Canvas()              #创建一块显示图形的画布
            self.figure=self.create_matplotlib() #返回matplotlib所画图形的figure对象
            self.create_form(self.figure)        #将figure显示在tkinter窗体上面
            self.root.mainloop()
    
        def create_matplotlib(self):
            #创建绘图对象f
            f=plt.figure(num=2,figsize=(16,12),dpi=80,facecolor="pink",edgecolor='green',frameon=True)
            #创建一副子图
            fig1=plt.subplot(1,1,1)
    
            x=np.arange(0,2*np.pi,0.1)
            y1=np.sin(x)
            y2=np.cos(x)
    
            line1,=fig1.plot(x,y1,color='red',linewidth=3,linestyle='--')    #画第一条线
            line2,=fig1.plot(x,y2) 
            plt.setp(line2,color='black',linewidth=8,linestyle='-',alpha=0.3)#华第二条线
    
            fig1.set_title("这是第一幅图",loc='center',pad=20,fontsize='xx-large',color='red')    #设置标题
            line1.set_label("正弦曲线")                                                           #确定图例
            fig1.legend(['正弦','余弦'],loc='upper left',facecolor='green',frameon=True,shadow=True,framealpha=0.5,fontsize='xx-large')
    
            fig1.set_xlabel('横坐标')                                                             #确定坐标轴标题
            fig1.set_ylabel("纵坐标")
            fig1.set_yticks([-1,-1/2,0,1/2,1])                                                   #设置坐标轴刻度
            fig1.grid(which='major',axis='x',color='r', linestyle='-', linewidth=2)              #设置网格
            
            return f
    
        def create_form(self,figure):
            #把绘制的图形显示到tkinter窗口上
            self.canvas=FigureCanvasTkAgg(figure,self.root)
            self.canvas.draw()  #以前的版本使用show()方法,matplotlib 2.2之后不再推荐show()用draw代替,但是用show不会报错,会显示警告
            self.canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
    
            #把matplotlib绘制图形的导航工具栏显示到tkinter窗口上
            toolbar =NavigationToolbar2Tk(self.canvas, self.root) #matplotlib 2.2版本之后推荐使用NavigationToolbar2Tk,若使用NavigationToolbar2TkAgg会警告
            toolbar.update()
            self.canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1)
    
    if __name__=="__main__":
        form=From()

    三、总结

    matplotlib与tkinter集成主要是通过两个类完成的,如下

    (1)将图像显示在tkinter里面——三步走

    #把绘制的图形显示到tkinter窗口上

    self.canvas=FigureCanvasTkAgg(figure,self.root) #当然这里不一定显示在root,可以使frame,tabcontrol等等

    self.canvas.draw()

        #以前的版本使用show()方法,matplotlib 2.2之后不再推荐show()用draw代替,但是用show不会报错,会显示警告

    self.canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)

    (2)将图像的相关工具也显示出来——三步走

    #把matplotlib绘制图形的导航工具栏显示到tkinter窗口上

    toolbar =NavigationToolbar2Tk(self.canvas, self.root) #matplotlib 2.2版本之后推荐使用NavigationToolbar2Tk,若使用                                                                                                         NavigationToolbar2TkAgg会警告

    toolbar.update()

    self.canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1)

    四、实现效果

     

    展开全文
  • 进入正文一、概述 matplotlib是Python生态圈里面最为流行的图形可视化库,提供了庞大而且完善的绘图功能,在绝大多数情况下,基本上只要是你想要实现的功能,...
        

    640?wx_fmt=jpeg

    640?wx_fmt=png

    进入正文


    一、概述
    640?wx_fmt=other

       

    matplotlib是Python生态圈里面最为流行的图形可视化库,提供了庞大而且完善的绘图功能,在绝大多数情况下,基本上只要是你想要实现的功能,均可以通过matplotlib完成。

    tkinter是python系统自带的GUI可视化库,原理简单,非常方便我们实现桌面应用程序。

    有时候我们在使用Python边写桌面应用程序的时候,希望在窗体程序内部展现绘图细节和绘图功能,本文的主要内容就是tkinter+matplotlib。

    当然窗体化的绘图还有其他的解决方案,比如使用使用Chaco绘图库也可以实现类似的功能。

    Next

    二、实现代码

    实现代码
    matplotlib+tkinter

    2.1

    import math
    
    import numpy as np   
    
    #-------------------------------------------------------------------------------------------
    
    import matplotlib
    
    import matplotlib.pyplot as plt
    
    from matplotlib.pylab import mpl
    
    from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolbar2Tk #NavigationToolbar2TkAgg
    
    #------------------------------------------------------------------------------------------
    
    import tkinter as tk
    
    #------------------------------------------------------------------------
    mpl.rcParams['font.sans-serif'] = ['SimHei']  #中文显示
    
    mpl.rcParams['axes.unicode_minus']=False      #负号显示
    
    
    
    class From:
    
        def __init__(self): 
    
            self.root=tk.Tk()                    #创建主窗体
    
            self.canvas=tk.Canvas()              #创建一块显示图形的画布
    
            self.figure=self.create_matplotlib() #返回matplotlib所画图形的figure对象
    
            self.create_form(self.figure)        #将figure显示在tkinter窗体上面
    
            self.root.mainloop()
    
    
    
        def create_matplotlib(self):
    
            #创建绘图对象f
    
            f=plt.figure(num=2,figsize=(16,12),dpi=80,facecolor="pink",edgecolor='green',frameon=True)
    
            #创建一副子图
    
            fig1=plt.subplot(1,1,1)
    
    
    
            x=np.arange(0,2*np.pi,0.1)
    
            y1=np.sin(x)
    
            y2=np.cos(x)
    
    
    
            line1,=fig1.plot(x,y1,color='red',linewidth=3,linestyle='--')    #画第一条线
    
            line2,=fig1.plot(x,y2) 
    
            plt.setp(line2,color='black',linewidth=8,linestyle='-',alpha=0.3)#华第二条线
    
    
    
            fig1.set_title("这是第一幅图",loc='center',pad=20,fontsize='xx-large',color='red')    #设置标题
    
            line1.set_label("正弦曲线")                                                           #确定图例
    
            fig1.legend(['正弦','余弦'],loc='upper left',facecolor='green',frameon=True,shadow=True,framealpha=0.5,fontsize='xx-large')
    
    
    
            fig1.set_xlabel('横坐标')                                                             #确定坐标轴标题
    
            fig1.set_ylabel("纵坐标")
    
            fig1.set_yticks([-1,-1/2,0,1/2,1])                                                   #设置坐标轴刻度
    
            fig1.grid(which='major',axis='x',color='r', linestyle='-', linewidth=2)              #设置网格
    
    
    
            return f
    
    
    
        def create_form(self,figure):
    
            #把绘制的图形显示到tkinter窗口上
    
            self.canvas=FigureCanvasTkAgg(figure,self.root)
    
            self.canvas.draw()  #以前的版本使用show()方法,matplotlib 2.2之后不再推荐show()用draw代替,但是用show不会报错,会显示警告
    
            self.canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
    
    
    
            #把matplotlib绘制图形的导航工具栏显示到tkinter窗口上
    
            toolbar =NavigationToolbar2Tk(self.canvas, self.root) #matplotlib 2.2版本之后推荐使用NavigationToolbar2Tk,若使用NavigationToolbar2TkAgg会警告
    
            toolbar.update()
    
            self.canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1)
    
    
    
    if __name__=="__main__":
    
        form=From()
    

    Next

    三、绘图步骤总结

    640?wx_fmt=other

    matplotlib和tkinter的集成主要是分为两个部分:

    第一部分是将绘制的图形结合tkinter,实现该功能遵循“三步走”,三个步骤。

    第二部分是将matplotlib自带的工具条结合tkinter,实现该功能也是遵循“三步走”,三个步骤。

    绘图步骤总结
    图像与tkinter集成

    3.1

    #把绘制的图形显示到tkinter窗口上
    #第一步 :当然这里不一定显示在root,可以使frame,tabcontrol等等
    self.canvas=FigureCanvasTkAgg(figure,self.root)
    
    #第二步:
    self.canvas.draw() 
    
    #第三步 :以前的版本使用show()方法,matplotlib 2.2之后不再推荐show()用draw代替,但是用show不会报错,会显示警告
    self.canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
    

    实现代码
    toolbar+tkinter

    3.2

    #第一步 :把matplotlib绘制图形的导航工具栏显示到tkinter窗口上
    toolbar =NavigationToolbar2Tk(self.canvas, self.root) #matplotlib 2.2版本之后推荐使用NavigationToolbar2Tk,若使用 NavigationToolbar2TkAgg会警告
    
    #第二步 :
    toolbar.update()
    
    #第三步:
    self.canvas._tkcanvas.pack(side=tk.TOP, fill=tk.BOTH, expand=1)
    

    Next

    四、实现效果

    640?wx_fmt=png

    Next

    全文总结

    matplotlib结合tkinter是可以做出比较强大的桌面程序的,也可以实现较为美观的可视化操作,本文只是实现,很多的美化操作没有实现,相关的配置可以参考之前写的文章。在具体的实现的时候,按照步骤一步一步来,就可以了,当然还会有其他的实现方式,若您看过文章之后有什么疑问,或者是有什么更好的提议,欢迎一起交流!

    END

    往期回顾

    640?wx_fmt=jpeg

    640?wx_fmt=png

    640?wx_fmt=jpeg

    640?wx_fmt=jpeg

    640?wx_fmt=png

    640?wx_fmt=png

    展开全文
  • 比如,在python3.6下运行matplotlib,报错找不到tkinter: File "/usr/local/lib/python3.6/tkinter/__init__.py", line 36, in <module> import _tkinter # If this fails your Py...

    在一台新机器上配置环境后运行老程序,总会出现各种诡异的错误。

    比如,在python3.6下运行matplotlib,报错找不到tkinter:

      File "/usr/local/lib/python3.6/tkinter/__init__.py", line 36, in <module>
        import _tkinter # If this fails your Python may not be configured for Tk
    ModuleNotFoundError: No module named '_tkinter'

    解决办法也是林林总总,但是最简单有效的如下:

    sudo apt-get install python3-tk

     everything great then. 

     

    展开全文
  • #matplotlibtkinter中的应用 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要...

    #matplotlib在tkinter中的应用


    前言

    利用xlrd和xlwty以及matplotlib进行曲线绘制

    提示:以下是本篇文章正文内容,下面案例可供参考

    一、进行本地excel文件读取和曲线绘制

    主要利用matplotlib进行曲线绘图

    二、使用步骤

    1.引入库

    import xlrd
    import xlwt
    import matplotlib
    from matplotlib import pyplot as plt

    2.读入数据

    def readexcel():
    workbook = xlrd.open_workbook(r’E:\pythonProject\Trapezoidal_wave.xlsx’)
    booksheet = workbook.sheets()[0]
    x = booksheet.col_values(0,1)#取第1行第1列
    y = booksheet.col_values(1,1)
    line,= plt.plot(x, y)
    plt.show()

    def main():
    readexcel()
    if name == ‘main’:
    main()

    总结

    进行本地文件打开以及绘图
    在这里插入图片描述

    展开全文
  • 利用pandas分析数据并通过matplotlibtkinter上绘图
  • Python与算法社区已原创421篇给个星标是最大支持matplotlib 是绘图界最通用的库,功能强大,与其他系统集成友好,比如Python内置的绘图模块tkinter,这篇文章的主要目标:实现一个使用tkinter集成matplotlib交互绘图...
  • Python绘图】matplotlib:先搞明白plt. /ax./ fig再画 tkinter做界面时,plt画图不关闭界面直接退出mainGUI时会发生报错,解决方案之一是plt.close(),另一个就是避免采用plt,选择ax画图。 ax与plt的作用和根本区别...
  • Python matplotlibtkinter结合

    千次阅读 2019-03-29 23:49:50
    知识点:将 tkintermatplotlib 结合的整个套路是固定的,只需要关心我们的绘图逻辑和程序逻辑即可。 import matplotlib matplotlib.use('TkAgg') import numpy as np from matplotlib.backends.backend_...
  • 文章目录前言绘图matplotlib的绘图流程:tkinter的使用流程tkinter控件属性控件的值和单位总结 前言 1 关于 Matplotlib 模块 Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模块。它利用了...
  • 本节主要使用matplotlib配合tkinter制作动态的 tkinter更多使用参数请参考Python GUI tkinter 一、图传上位机界面设计 在这里通过将接收的数据以图标的形式在tkinter中的进行动态的显示。 import matplotlib ...
  • python3+matplotlib+tkinter

    2017-09-15 15:54:07
    1.python3中的tkinter要全部小写,是自带的不需要下载(python2需自行下载) 2.还是基于《机器学习实战》一书中的第九章例子来说。函数的顺序很重要!很重要!很重要!!! 3.提示错误ValueError: Masked arrays ...
  • matplotlib动图嵌入tkinter, 简单易懂
  • Python与算法社区已原创421篇给个星标是最大支持matplotlib 是绘图界最通用的库,功能强大,与其他系统集成友好,比如Python内置的绘图模块tkinter,这篇文章的主要...
  • 我一直在尝试在GUI后面传输一些脚本(使用Tkinter),到目前为止,所有打开的数据都显示在Tkinter画布上(使用matplotlib绘制)。在我唯一的问题是,matplotlib中的标准缩放/滚动(使用鼠标左键“移动”绘图,使用鼠标...
  • 在日常应用程序开发中,图表(折线图,柱状图等)以其直观显示,清晰明了的优势,使得应用范围越来越广泛,本文以一个简单的小例子,简述如何将TkinterMatplotlib相互关联起来,在应用程序中嵌入图表,仅供学习分享...
  • 程序化编程 餐厅图形界面使用sqlite,matplotlibtkinter。 这是我学校的一个项目。
  • import tkinter from tkinter import filedialog from openpyxl import load_workbook from datetime import datetime import matplotlib import matplotlib.pyplot as plt import matplotlib.dates as mdates ...
  • 我一直试图在GUI后面传递一些脚本(使用Tkinter),到目前为止,已经使得任何打开的数据都显示在Tkinter画布中(使用matplotlib绘制它).我唯一的问题是matplotlib中的标准缩放/滚动(使用鼠标左键“移动”绘图和鼠标右键...
  • 相关文件: ... 1、python官网下载python.exe ...6、No module named 'tkinter'  执行step 1中的python.exe,选择“modify” -> “tck/tk and IDLE”  成功后,python的安装根目录中会有tcl目录

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 735
精华内容 294
关键字:

matplotlibtkinter