首页 > 行业资讯 > 科研人用ChatGPT+Python=开发绘图程序

科研人用ChatGPT+Python=开发绘图程序

时间:2023-11-01 来源: 浏览:

科研人用ChatGPT+Python=开发绘图程序

编辑之谭
编辑之谭

EditorTan

本公众号为谭编读者交流园地,谭编《Origin科研绘图与学术图表绘制从入门到精通》(北大出版社)是目前唯一一本精彩实例超过150个的、讲述完整Origin编程与高效率绘图的、顶刊插图必备的、全彩色印刷的科研数据处理与绘图科研工具书!

收录于合集

以下文章来源于从小爱编程 ,作者谭编

从小爱编程 .

学点编程,将编程思维融入到科研、学习、工作和生活中。

导  读: 很久没有续更《10天学会|Python绘图》合集了。今天分享一下,利用ChatGPT,只需学如何与ChatGPT对话,就能设计Python程序,从而提升科研数据处理与绘图效率。

看完本文,您会期待谭编后续会推出什么彩蛋呢?出书?开课?开发绘图软件?欢迎在本文末尾留言。

一、搭建环境

1. Mu或Pycharm编辑器

(1)tkinter实现Python窗口编程

一般的Python编程都无用户界面,在黑色编辑器环境使用,操作不够友好。如果能设计Python窗口程序,并且将Python程序打包成exe软件而跨平台使用,则可瞬间提升程序的质量水平和拓展应用场景。 tkinter是Python的内部库,无需pip安装。

(2)matplotlib、numpy库

matplotlib库是一个用于绘制各种类型图表的Python绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。numpy库是进行科学计算的库。PyCharm需要pip安装这两个库,但Mu编辑器似乎都集成了。本文采用Mu编辑器、ChatGPT来演示。Mu编辑器可以百度下载。

2. ChatGPT

简介略。谭编为大家收集了一些ChatGPT资源,有需要的同学,可以从文末获取。

二、开始编程

如果我们学会了如何向ChatGPT提问,那么我就成功了200%。

1.让ChatGPT编写程序

提示框输入多行语句的方法是按Ctrl+回车,否则会浪费提示次数,多行语句可以将任务一次性安排好,发送给GPT,它没必要逐句地解决你的问题。如果多行语句一次性安排好,GPT一次性写出完美程序,几乎无bug。这是提升满意度的关键。

请用Python的Tkinter绘制一个窗口,要求:

(1)封装一个窗口创建函数 (2)执行该函数,能创建一个窗口 (3)窗口中包含一个Label提示“请输入(x,y)两列数据” (4)还含有一个宽200,高800的文本框 (5)含有一个按钮“OK" (6)点击OK按钮,绘制出雷达图

图1

大约10秒内,ChatGPT就能给出完美Python代码。部分截图如下:

图2

运行程序,奇迹实现了!弹窗中输入数据后,得到了绘图,但图太小。

图3

接下来,我准备再请ChatGPT解决这个问题。

图4

重新替换ChatGPT给出的完整代码,运行效果如下:

图5

图6 

更新代码后,运行,输入数据,得到的效果如下图所示。

图7

这次似乎没有完全满足要求,因为,我想让它将按钮和文本框交换位置,让文本框在按钮下方,并且让文本框高度自适应窗口高度。其实很简单,将按钮的相关代码移动到按钮代码之后,这对于程序员很容易做到。可能是我提问它没法理解,我再试一下提示语。

图8

图9

但,还是没有将按钮移动到文本框上方。我将文本框的代码移动到按钮代码下一行,运行可以,但界面似乎不符合常理,也比较难看。估计是ChatGPT认为比较合理的,它不会给你纠正,情商也比较高,也没给你指出这一点。我也只能这样推测。

2.让ChatGPT优化程序

现在,我想让ChatGPT再做一点优化: (1)雷达图绘制曲线往往是封闭曲线,通常是在数据集末尾增加与第一行数据完全相等的数据,请完善代码实现封闭的雷达图。

(2)修改Label标签文本为“输入(x,y,y,y)型数据”框,可以输入任意列XYYYY型数据,实现在同一个坐标系中绘制多条不同颜色的雷达图。

图10

3.让ChatGPT调试程序

让ChatGPT更改现已完善的程序算法,似乎增加了理解难度。调试后第一次出现了bug。

图11

这似乎是为了“封闭”曲线,在来数据数组基础上追加了一个“起点”数据,列表的长度(项数)增加1,而在调用set_thetagrids函数时不符合所致。我们将bug反馈信息复制后,发给ChatGPT,看看它能否解决。

图12

还是有问题,继续将Bug反馈信息发给ChatGPT,它居然也会承认错误,这个对于多数人类“不敢承认错误”怕丢面子要好多了,我们人类不得不向AI学习。

图13

经过3次bug反馈,最后运行输入数据得到下图效果,但……

图14

4.让ChatGPT返还上次满意程序

我想让ChatGPT重新在前面满意的代码基础上修改。

图15

还是绘制的三角形雷达图。这也太难为ChatGPT了,我想让它把上次满意的代码还给我,我后续完善这个功能。

图16

最完美的效果如下图所示,我输入的三列数据,居然没bug,但绘制了1条极坐标点线图。总之ChatGPT提升软件开发效率,是非常胜任的。

图17

后续我将在上图版本的基础上,完善代码实现极坐标系多条彩色点线图的绘制。敬请广大读者持续关注。文末456口令可进ChatGPT交流群。

谭编新书· 购书链接

谭编新书,抢购秒杀

再手抖犹豫一下,抢光!

重磅: 购书送ChatGPT!发SCI必备这本书!

转发本文:送 ChatGPT

一月畅玩ChatGPT

领取方式

长按二维码,发消息输入 口令: 456

获邀进GPT群,见群公告!

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐