wxpython教程 wxpython界面开发实例
- 开发语言
- 2023-09-14
- 128
很多朋友对于wxpython教程和wxpython界面开发实例不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!wxpython怎么打包成exe很...
很多朋友对于wxpython教程和wxpython界面开发实例不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
wxpython怎么打包成exe
很不幸的告诉你,没有办法!!!
只有你吧wxpython工程给出去,直接运行里面的py脚本
python可视化界面怎么做
本文所演示的的可视化方法
散点图(Scatterplot)
直方图(Histogram)
小提琴图(Violinplot)
特征两两对比图(Pairplot)
安德鲁斯曲线(Andrewscurves)
核密度图(Kerneldensityestimationplot)
平行坐标图(Parallelcoordinates)
Radviz(力矩图?)
热力图(Heatmap)
气泡图(Bubbleplot)
这里主要使用Python一个流行的作图工具:Seabornlibrary,同时Pandas和bubbly辅助。为什么Seaborn比较好?
因为很多时候数据分析,建模前,都要清洗数据,清洗后数据的结果总要有个格式,我知道的最容易使用,最方便输入模型,最好画图的格式叫做"TidyData"(WickhamH.Tidydata[J].JournalofStatisticalSoftware,2014,59(10):1-23.)其实很简单,TidyData格式就是:
每条观察(记录)自己占一行
观察(记录)的每个特征自己占一列
举个例子,我们即将作图的数据集IRIS就是TidyData(IRIS(IRIS数据集)_百度百科):
Iris数据集是常用的分类实验数据集,由Fisher,1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。
该数据集包含了5个属性:
Sepal.Length(花萼长度),单位是cm;
Sepal.Width(花萼宽度),单位是cm;
Petal.Length(花瓣长度),单位是cm;
Petal.Width(花瓣宽度),单位是cm;
种类:IrisSetosa(山鸢尾)、IrisVersicolour(杂色鸢尾),以及IrisVirginica(维吉尼亚鸢尾)。
IRIS数据可以看到,每条观察(ID=0,1,2...)自己占一行,每个特征(四个部位长/宽度,种类)自己占一列。Seaborn就是为TidyData设计的,所以方便使用。
所以这个数据集有6列,6个特征,很多时候做可视化就是为了更好的了解数据,比如这里就是想看每个种类的花有什么特点,怎么样根据其他特征把花分为三类。我个人的喜好是首先一张图尽量多的包含数据点,展示数据信息,从中发现规律。我们可以利用以下代码完全展示全部维度和数据这里用的bubbly:
三维图,全局观察Python做出来,其实是一张可以拖动角度,放大缩小的图,拖一拖看各角度视图会发现三类还是分的挺明显的。Github上这个bubbly还是很厉害的,方便。
接下来开始做一些基础的可视化,没有用任何修饰,代码只有最关键的画图部分,可视化作为比赛的一个基础和开端,个人理解做出的图能看就行,美不美无所谓,不美也不扣分。因为
散点图,可以得到相关性等信息,比如基本上SepalLengthCm越大,SepalWidthCm越大
散点图使用Jointplot,看两个变量的分布,KDE图,同时展示对应的数据点
就像上一篇说的,比赛中的每个环节都至关重要,很有必要看下这些分布直方图,kde图,根据这些来处理异常值等,这里请教,为什么画了直方图还要画KDE??我理解说的都是差不多的东西。
关于KDE:"由于核密度估计方法不利用有关数据分布的先验知识,对数据分布不附加任何假定,是一种从数据样本本身出发研究数据分布特征的方法,因而,在统计学理论和应用领域均受到高度的重视。"
无论如何,我们先画直方图,再画KDE
直方图KDE图这里通过KDE可以说,由于Setosa的KDE与其他两种没有交集,直接可以用Petailength线性区分Setosa与其他两个物种。
Pairplot箱线图,显示一组数据分散情况的统计图。形状如箱子。主要用于反映原始数据分布的特征,关键的5个黑线是最大值、最小值、中位数和两个四分位数。在判断异常值,处理异常值时候有用。
BoxPlot小提琴图
Violinplot这个Andrewscurves很有趣,它是把所有特征组合起来,计算个值,展示该值,可以用来确认这三个物种到底好不好区分,维基百科的说法是“Ifthereisstructureinthedata,itmaybevisibleintheAndrews'curvesofthedata.”(Andrewsplot-Wikipedia)
Andrews'curvesradvizRadviz可视化原理是将一系列多维空间的点通过非线性方法映射到二维空间的可视化技术,是基于圆形平行坐标系的设计思想而提出的多维可视化方法。圆形的m条半径表示m维空间,使用坐标系中的一点代表多为信息对象,其实现原理参照物理学中物体受力平衡定理。多维空间的点映射到二维可视空间的位置由弹簧引力分析模型确定。(Radviz可视化原理-CSDN博客),能展示一些数据的可区分规律。
数值是皮尔森相关系数,浅颜色表示相关性高,比如Petal.Length(花瓣长度)与Petal.Width(花瓣宽度)相关性0.96,也就是花瓣长的花,花瓣宽度也大,也就是个大花。
不过,现在做可视化基本上不用python了,具体为什么可以去看我的写的文章,我拿python做了爬虫,BI做了可视化,效果和速度都很好。
finereport
可视化的一大应用就是数据报表,而FineReport可以自由编写整合所需要的报表字段进行报表输出,支持定时刷新和监控邮件提醒,是大部分互联网公司会用到的日常报表平台。
尤其是公司体系内经营报表,我们用的是商业报表工具,就是finereport。推荐他是因为有两个高效率的点:①可以完成从数据库取数(有整合数据功能)—设计报表模板—数据展示的过程。②类似excel做报表,一张模板配合参数查询可以代替几十张报表。
FineBI
简洁明了的数据分析工具,也是我个人最喜欢的可视化工具,优点是零代码可视化、可视化图表丰富,只需要拖拖拽拽就可以完成十分炫酷的可视化效果,拥有数据整合、可视化数据处理、探索性分析、数据挖掘、可视化分析报告等功能,更重要的是个人版免费。
主要优点是可以实现自助式分析,而且学习成本极低,几乎不需要太深奥的编程基础,比起很多国外的工具都比较易用上手,非常适合经常业务人员和运营人员。在综合性方面,FineBI的表现比较突出,不需要编程而且简单易做,能够实现平台展示,比较适合企业用户和个人用户,在数据可视化方面是一个不错的选择;
这些是我见过比较常用的,对数据探索有帮助的可视化方法。
如何让Python脚本成为在Windows环境中运行的exe文件
在Python开发过程中,我们除了可以将发布模块打包成.whl格式的文件,也可以打包成可执行的exe程序。这样即使在没有Python的环境中仍然可以直接运行程序,提升使用效率。
接下来就分享一下,如何使用PyInstaller库将发布模块打包成exe格式文件。
PyInstaller安装建议使用pip的方式进行安装,否则可能会报缺失其它依赖库的情况,需要逐个手动安装。
pipinstallPyInstallerPyInstaller使用如下,简单代码示例WriteFiles.py模块,其中导入了Python内置库time模块和第三方库csv模块,实现每次运行时,创建新的csv文件,源码如下。
WriteFiles.py模块的当前目录结构,如下:
在该模块目录内执行如下命令,将WriteFiles.py打包成exe格式文件。
pyinstallerWriteFiles.py执行日志如下:
在运行完成后,我们在当前目录中可以看到生成了.\build\WriteFiles\WriteFiles.exe文件,如下:
我们双击执行WriteFiles.exe,可以发现在当前目录下,新增了WriteFile_1573221278.csv文件。
从上面的例子中,我们发现生成的文件数量太多了,如何进行简化生成结果?
我们可以尝试使用其中-n参数,使得仅生成一个文件名为Hello.exe的应用程序,执行如下命令:
pyinstaller-F-nHello.exeWriteFiles.py我们可以看到在当前目录中生成了.\dist\Hello.exe应用程序文件,目录结构如下。
最后,除了PyInstaller库能够将模块打包成exe应用程序,pyexe库也可以实现相同效果的打包,这里就不做单独的介绍了。
如何用Python制作一个电子相册
这里简单介绍一下python制作电子相册的过程,主要用到tkinter和pillow这2个库,tkinter用于窗口显示照片,pillow用来处理照片,照片切换分为2种方式,一种是自动切换(每隔5秒),一种是手动切换(窗口点击鼠标左键),实验环境win10+python3.6+pycharm5.0,主要内容如下:
1.tkinter是python自带的标准库,不需要安装,pillow是第三方库,需要单独安装,安装命令“pipinstallpillow”,如下:
2.下来就是python电子相册源码,如下,主要分为3部分,第一部分为引入的包,及窗口布局、全局变量等,第二部分为手动切换函数,当点击鼠标时,就会换到下一张照片,第三部分为自动切换函数,每隔5秒,自动切换到下一张照片,代码如下:
程序运行效果截图如下,照片会自动切换(或手动点击切换):
至此,我们就完成了利用python来制作电子相册。总的来说,整个过程的原理很简单,但是实现起来还是有一定的难度(尤其是照片切换那两部分),对于初学者来说,这里也可以利用wxpython或pyqt来制作电子相册的窗口,基本过程类似,感兴趣的可以实现一下,网上也有相关教程和资料,感兴趣的可以搜一下,希望以上分享的内容能对你有所帮助吧。
wxpython界面开发实例
创建带有文本和按钮的窗口,实现对输入文本的操作。
创建带有菜单栏、工具栏和状态栏的窗口,实现不同功能的快捷方式。
创建可以显示图片的窗口,实现对图片的编辑和存储。
创建可以显示HTML内容的窗口,实现交互式的浏览器。
python桌面开发,为什么选择PyQt或wxPython,而不使用Tkinter
最主要的原因就是Tkinter参考资料太少,只能满足基本GUI开发(界面美观程度要求不高),因此使用的人比较少,而PyQt和wxPython参考资料丰富,可以直接拖拽控件,界面设计美化容易,因此使用的人比较多,下面我简单介绍一下这2个模块的安装和使用,感兴趣的朋友可以自己尝试一下:
wxPython这是Python一个非常不错的GUI开发库,免费、开源、跨平台,可用组件众多,借助这些组件,程序员可以快速创建完整、功能全面的用户界面,因此应用非常广泛,下面我简单介绍一下这个库:
1.首先,安装wxPython,这个直接在cmd窗口输入安装命令“pipinstallwxpython”就行,如下,我的Python环境已正确安装:
2.安装完成后,我们就可以直接编写代码来测试这个模块了,代码如下,非常简单,一个文本编辑器,根据路径打开文件,然后编辑再保存:
程序运行截图如下,效果还是非常不错的:
PyQt这是一个基于Qt的Python接口包,借助于Qt强大的可视化功能,Python也可以快速开发一个功能强大、界面美观的GUI程序(可以直接拖拽控件),下面我简单介绍一下这个库:
1.首先,安装PyQt,这个也直接在cmd窗口输入命令“pipinstallpyqt5”就行,如下,安装的过程需要耐心等待一会儿:
2.安装完成后,我们就可以直接打开Qt自带的设计工具QtDesigner进行界面设计了,默认在site-packages->PyQt5->Qt->bin目录下,所有控件都可以直接拖拽,而且可以使用QSS进行美化,非常方便,如下:
3.设计完成后,使用pyuic5工具进行转化,就会自动生成对应Python代码,如下,不需要我们再手动去一行一行编写,调整布局:
4.最后再加一个main函数,创建上面的类对象,就可以显示我们创建的界面了,如下:
运行程序,截图如下,就是我们刚才设计的GUI界面,非常方便吧,再绑定信号和槽函数,就可以进行用户响应啦:
至此,我们就介绍完了PyQt和wxPython这2个模块的简单安装和使用。总的来说,对于界面简单、功能要求不高的GUI设计来说,Tkinter完全可以胜任,但是对于功能比较复杂、界面美化程度较高的GUI来说,PyQT和wxPython更容易,也更好实现,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
OK,本文到此结束,希望对大家有所帮助。
本文链接:http://www.xinin56.com/kaifa/22959.html