雷达图生成器,含源码和exe可执行文件(下载即可使用)

写在前面:

大家好,这是光堂兄的第一篇文章,其实很早之前就有将自己学习python的点滴记录下来的想法,只是没有找到合适的平台,目前暂时打算在这边更新,欢迎各位有相同想法的同学交流,我的邮箱是:[email protected]

这个雷达图生成器是我在学习matplotlib时接触到的,当时想自己能不能把这个功能简化一下,让不会编程的人也可以方便的使用(当然,后来了解到网上有这样的在线生成器,excel也可以制作,大家可以选择自己喜欢的样式),加上自己之前学过tkinter,构思了一下,可行,便开干。

思路:

这个程序的核心是matplotlib.pyplot里的polar函数,在我们定义的draw()函数里面。

简单来讲,就是通过GUI让用户按照一定的格式输入数据,程序获取之后,按照polar函数的参数要求进行整理。绘制好图片后,另存为文件到用户的桌面。

有几个问题,第一,如何获取用户的桌面路径呢?利用python内置的注册表操作库winreg可以解决这个问题,下面的代码中有获取用户桌面路径的函数,大家可以自己参考,留着备用。

第二,用户输入的数据量是不定的,有可能有3个参数,有可能有9个,这需要我们来处理,在draw()函数中,theta变量就是这个作用,为每一个数据匹配一个角度,前面画图以及后面放名称的时候都要用到。

第三,考虑到可移植性,我们的exe要在其他电脑上运行的话就必须解决引用的问题。而pyinstaller打包的时候实际上并不会将引用的图片等资料打包进去,只会打包相应涉及的py库。我们的GUI中有一张图片,如果不解决这个问题就会出现执行错误。我查了一些资料,找到的解决方法是将图片编码为py文件,再在主程序中import, 并解码为图片文件存在用户本地,使用完成后删掉即可。 实际上之前我已经有所暗示了,import的文件是会被pyinstaller打包进exe的。具体操作方法见代码。

主程序:






效果图:


开始界面


输入数据页面


结果

源码:

附送源码和可执行文件,转载请注明出处!

链接:https://pan.baidu.com/s/1jk5cLQR-D0-mfcQTBMXL2A

提取码:js5e

你可能感兴趣的:(雷达图生成器,含源码和exe可执行文件(下载即可使用))