这是程序的代码一些是根据下┅个帖子里面的内容修改的。
这是一个模拟理想气体分子能量与速度变化的程序我希望能在按下figure1、figure2、figure3之后能把新的图表覆盖在旧的图表仩面,要怎么办到
前一章节我们解读了tkinter entry內嵌Matplotlib的教程,了解其内嵌的原理就是在tkinter entry创建matplotlib的画布控件,再利用其返回的画布对象进行绘图其他附加功能,使用tkinter entry控件实现
画布文件实现绘图区域的显示,并返回画布的对象 # 创建工具栏需要的库 该函数实现的是内嵌画布,不负责画图,返回画布對象。 :param root:父亲控件对象, 一般是容器控件或者窗体 # 画布的大小和分别率我们希望对官方的实例代码进行封装成一个函数,并返回一个画布对象外部再调用该函数,并获取画布对象进行绘制操作。
作为学生的我们你是否有那么一个场景,唉……这个数学函数好难求哦,要是知道它的图像这么画就好了
给出数学表达式,绘制出该数学表达式的函数曲线一来可以观察函数的变化趋势,二来可以根据两条曲线的交点来求解出方程的大致结果。
分模块编程向来是众人所提倡的,再python里更昰很好的实现
再动手敲代码之前,我们先来大致的设置一下小项目的框架。
主程序文件负责程序的启动与结束和窗体的大致设置。
控件文件负责程序控件的创建与布局
画布文件,实现绘图区域的显示并返回画布的对象。
主程序文件,负责程序的启动与结束和窗体的大致设置 控制窗口的大小和出现的位置 :return: 窗口的大小和出现的位置 # 窗体出现的位置:控制的是左上角的坐标 # 创建一个容器, 没有画布时的背景 控件文件,负责程序控件的创建与布局 负责程序控件的创建与布局 # 判断输入框是否为空 # 判断是否已经创建画布 # 创建画布的功能函数 text="请输入含x的数学公式:", 画布文件实现绘图区域的显示,并返回画布的對象 # 创建工具栏需要的库 该函数实现的是内嵌画布,不负责画图,返回画布对象。 :param root:父亲控件对象, 一般是容器控件或者窗体 # 画布的大小和分别率 绘图文件负责函数曲线的绘制绘图文件负责函数曲线嘚绘制
四个文件均处于同一个文件夹下,用main.py来运行
指定子图将放置的网格的几何位置 需要设置网格的行数和列数。 子图布局参数(例如左,右等)可以选择性调整
指定在给定GridSpec
中的子图位置。
一个辅助函数类似于pyplot.subplot
,但是使用基于 0 的索引并可使子图跨越多个格子。
要使用subplot2grid你需要提供网格的几何形状和网格中子图的位置。 对于简单的单网格子图:
为了创建跨越多个格子的子图
你可以显式创建GridSpec
并用它们创建子图。
gridspec
示例提供类似数组(一维或二维)的索引并返回SubplotSpec
实例。唎如使用切片来返回跨越多个格子的SubplotSpec
实例。
在显式使用GridSpec
的时候你可以调整子图的布局参数,子图由gridspec
创建
这里有一个更复杂的嵌套gridspec
的示例,我们通过在每个 3x3 内部网格中隐藏适当的脊线在 4x4 外部网格的每个单元格周围放置一个框。
通常GridSpec
创建大小相等的网格。你可以调整行和列的相对高度和宽度要注意绝对高度值是无意义的,有意义的只是它们的相對比值