グラフを画像にエクスポートする

ここではOriginで作成したグラフを"originpro"パッケージを使って画像にエクスポートする方法をご紹介します。
最初に単一のグラフを画像にエクスポートする方法を、次にプロジェクト内のグラフ全てをエクスポートする方法をご紹介します。

作成される画像

Pythonコードの実行方法は下記リンクを参照してください。

単一のグラフをエクスポート

グラフをエクスポートする場合にはsave_figを使用することで指定の形式でエクスポートできます。コードを試したい場合にはこちらをコピーしてpy形式のファイルに貼り付けてください。
Pythonコンソールを使用する場合は、下記コードを1行ずつ入力・実行してください。

import originpro as op

#ラーニングセンターのサンプルプロジェクトを開く
op.open(op.path('c')+ r'\Graphing\Trellis Plots - Box Charts.opju')

gg=op.find_graph(0)

# グラフを画像にエクスポート
# 保存先はユーザファイルフォルダ
f=''
if gg:
    f=gg.save_fig(op.path()+'my_py_test.png',width=500)

# エクスポートできていれば画像を表示
import os
if len(f):
    os.startfile(f)
作成される画像

補足

    f=gg.save_fig(op.path()+'my_py_test0817.png',width=500)

のsave_figでは"save_fig({保存先のフォルダとファイル名、拡張子の指定},{画像の幅の指定})というように引数を指定しています。
詳しくは下記リファレンスページをご覧ください。

プロジェクト内のグラフをすべてエクスポート

すでに開いているプロジェクト内にあるグラフをすべてエクスポートする場合には下記のようなプログラムを実行します。

# コード実行前にあらかじめOPJファイルを開く
import os
import originpro as op

#すべてのグラフを画像にエクスポートする関数を定義
def expall(fpath, imgw, usepng):
    #プロジェクト内にあるグラフ一覧をlistに格納
    list = op.graph_list('p')
    for graph in list:
        if usepng==0 and imgw==0:
            #use saved theme in graph, only change path if fpath not empty, 
            #if not, each graph remembers its own path
            result = graph.save_fig(fpath)
        else:
            result = graph.save_fig(path=fpath, type='png', width=imgw)
        print(result)
        
    #グラフがエクスポートされていれば画像を保存したフォルダを表示
    if len(fpath):
        os.startfile(fpath)

fpath=op.path()
expall(fpath,500,0)

コマンドウィンドウで.pyファイルを実行した場合には下記のように出力されたファイル名が表示され、画像を保存したフォルダが開きます。

エクスポートした画像名とフォルダが表示される

"originpro"パッケージに導入されているクラスの一覧やリファレンスは下記リンクから確認できます。

前回の連載はこちら

Python連載企画一覧ページ

次回の連載はこちら

page_top_icon