怎么把tkinter entry.entry.get()得到的string型sin(x)函数,转化为matplotlib中numpy.array型sin(x)函数

这是程序的代码一些是根据下┅个帖子里面的内容修改的。

这是一个模拟理想气体分子能量与速度变化的程序我希望能在按下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创建大小相等的网格。你可以调整行和列的相对高度和宽度要注意绝对高度值是无意义的,有意义的只是它们的相對比值

参考资料

 

随机推荐