找回密码
 会员注册
查看: 33|回复: 0

Origin+Python使用ExternalPython批量出图代码参考

[复制链接]

7

主题

0

回帖

22

积分

新手上路

积分
22
发表于 2024-9-4 09:06:57 | 显示全部楼层 |阅读模式
目录基本介绍环境配置官方代码示例基础代码详解我的代码效果视频进阶代码及去水印基本介绍origin2021后可以使用python实现批量绘图,一共有两种方式:一种是嵌入式Python,一种是外部Python访问Origin。详细介绍可以自己去查看,打开origin->帮助->编程->python,就可以打开网页link查看。这里主要介绍比较少人提及的外部Python访问Origin方式,内部太麻烦了,对于习惯使用pycharm的我来说。环境配置还是熟悉的AnacondaPrompt,然后配置需要使用到的环境。首先先创建一个origin环境,然后激活环境后进行pip安装。这里condainstall会报错的创建环境见我其他配置教程:【框架安装】win7配置安装tensorflow和keras教程pipinstalloriginpro1然后就打开pycharm创建新项目,设置环境。见我其他配置教程:【框架安装】win7配置安装tensorflow和keras教程官方代码示例代码示例:https://www.originlab.com/doc/en/ExternalPython/External-Python-Code-Samples更多代码示例:https://github.com/originlab/Python-Samples官方函数指南:https://docs.originlab.com/originpro/annotated.html基础代码详解这里部分代码有删减,不可以直接运行!!!可以参考下面步骤流程写自己的代码!!!part1初始化importosimportoriginproasopimportnumpyasnpimportpandasaspd#Veryuseful,especiallyduringdevelopment,whenyouareliabletohaveafewuncaughtexceptions.#EnsuresthattheOrigininstancegetsshutdownproperly.#NotenlyapplicabletoexternalPython.#官网推荐加的,不加白不加importsysdeforigin_shutdown_exception_hook(exctype,value,traceback):'''EnsuresOrigingetsshutdownifanuncaughtexception'''op.exit()sys.__excepthook__(exctype,value,traceback)ifopandop.oext:sys.excepthook=origin_shutdown_exception_hook123456789101112131415part2打开origin界面(也可以不打开的,但是打开可控一点)#SetOrigininstancevisibility.#ImportantforonlyexternalPython.#ShouldnotbeusedwithembeddedPython.#这个命令可以打开一个origin界面ifop.oext: op.set_show(True)123456part3读取数据并进行数据处理#可以实现设置一个origin模板,这样可以减轻工作量#这里先设置好模板读取路径template_path,以及图片保存路径save_img_path#可以看这个教程:https://blog.originlab.com/origin-graph-templates-for-python-developersworking_folder=os.path.dirname(os.path.realpath(__file__))template_path=os.path.join(working_folder,'test111.otpu')save_img_path=working_folder#可以使用pandas和numpy处理数据data=pd.read_csv(csv_path,header=None)data=np.array(data).flatten()123456789part4新建表格,并将数据输入到表格#Simplesyntaxtocreateanewworkbookwithonesheetwks=op.new_sheet('w','test')#Insertlistdataintocolumns1#这里0指的是第一列,1指的是第二列,data就是要输入进去的列向量np格式数据,列名设置为???。这里输入两列相同的数据#注意这个列名会显示到图上面的wks.from_list(0,data,lname='???')wks.from_list(1,data,lname='???')12345678part5绘图#Createanewgraphobjectbasedonagraphtemplate.#Providepathtothetemplate.We'lluseabuilt-ingr=op.new_graph(template=template_path)#Addplotswithdatafromworksheettolayer1andlayer2#andthenrescale.#p1就是绘制的第一条曲线,p1=gr[0].add_plot(wks,coly='B',colx='A')#XiscolA,YiscolB.p1.color='#335eff'#设置曲线颜色#可以到这个网站找合适的配色:https://eng.m.fontke.com/tool/rgb/#p2就是绘制的第二条曲线p2=gr[0].add_plot(wks,'C','A')#XiscolA,YiscolC.p2.color='#ff5833'12345678910111213141516part6保存图片#保存图片f=gr.save_fig(os.path.join(save_img_path,'my_py_test.png'))#打开刚刚保存的图片iflen(f)s.startfile(f)12345part7退出origin#ExitrunninginstanceofOrigin.ifop.oextp.exit()123我的代码效果视频进阶代码及去水印【Origin+Python】使用ExternalPython批量出图代码参考2目录:进阶代码1批量绘制曲线图2曲线图设置3批量绘制相同设置的曲线图去除水印
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-28 22:06 , Processed in 0.478283 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表