Python API调用
准备
-
软件:安装 OriginPro( 2021b 或更高版本)及 Python 环境。
-
库:命令行执行 pip install originpro pandas。
-
制作模板:在 Origin 中先手动画好一张图,调整好坐标轴、字体、大小等,右键图表空白处 -> Save Template As,保存为 .otpu 格式文件。
第 1 步:初始化并连接 Origin
在 Python 脚本开头导入库,并设置 Origin 界面是否可见。
1 2 3 4 5
| import originpro as op import pandas as pd
op.set_show(True)
|
第 2 步:新建工作簿并导入数据
使用 Pandas 读取本地数据,并在 Origin 中创建 WorkSheet 填入数据。
1 2 3 4 5 6 7 8
| df = pd.read_csv("your_data.csv")
wks = op.new_book('w', lname="My_Data_Book")[0]
wks.from_df(df)
|
第 3 步:调用模板生成图表并添加曲线
指定刚才保存的 .otpu 模板路径,创建图表,并将工作簿中的指定列画到图上。
1 2 3 4 5 6 7 8 9 10 11
| tpl_path = r"D:/path/to/your/template.otpu"
graph = op.new_graph(template=tpl_path, lname="My_Plot")
p_line = graph[0].add_plot(wks, coly=1, colx=0, type='line')
graph[0].rescale()
|
第 4 步:精细控制颜色与图例(进阶)
Origin 的原生 Python API 可以直接控制颜色,而复杂的图例修改可通过底层 LabTalk 脚本指令完成。
1 2 3 4 5 6 7 8 9 10
| p_line.color = '#FF0000'
graph[0].lt_exec('legend -r;')
graph[0].lt_exec(r'legend.text$="\l(1) Sample A\r\n\l(2) Sample B";')
graph[0].lt_exec('legend.numcols=1;')
|
第 5 步:循环批处理与保存工程
将上述 2-4 步放入一个 for 循环中遍历文件夹,最后保存为 .opju 工程文件并退出。
1 2 3 4 5 6
| op.save(r"D:/path/to/save/My_Auto_Project.opju")
if op.oext: op.exit()
|
整体逻辑架构模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import originpro as op import pandas as pd from pathlib import Path
op.set_show(True)
data_files = Path("D:/MyData").rglob("*.csv")
graph = op.new_graph(template=r"D:/Templates/my_temp.otpu", lname="Batch_Plot")
for idx, file in enumerate(data_files): df = pd.read_csv(file) wks = op.new_book('w', lname=f"Data_{idx}")[0] wks.from_df(df) p = graph[0].add_plot(wks, coly=1, colx=0, type='line')
graph[0].rescale() op.save(r"D:/MyData/Result.opju") if op.oext: op.exit()
|
快捷键
打出“埃米”:按住ALT,小键盘打“0197”。