グラフ作成

ここでは"originpro"パッケージを使ってグラフを作成する方法をご紹介します。
単純に散布図を作成する方法、軸をLogスケールに変更する方法、さらに他の列の情報を使ってフォーマットを編集する方法の3つについて、サンプルプログラムを使ってまとめました。
※Origin2021bで実行しています。

作成される散布図
Logスケールグラフ
他の列の情報を使ってフォーマットを編集

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

散布図を作成

散布図を作成するサンプルは以下になります。試したい場合にはこちらをコピーしてpy形式のファイルに貼り付けてください。
Pythonコンソールを使用する場合は、下記コードを1行ずつ入力・実行してください。

import os
import originpro as op

#ファイルをインポート
wks = op.new_sheet()
wks.from_file(os.path.join(op.path('e'), 'Samples', 'Graphing', 'Group.dat'))

#散布図(scatter)を指定してグラフを作成
graph = op.new_graph(template='scatter')
gl=graph[0]

#すでに作成されているグラフ上にプロットを追加
plot = gl.add_plot(f'{wks.lt_range()}!(?,1:end)')
#プロットに合わせて再スケール
gl.rescale()

gl.group()
#カラーリストやパレットを設定します。今回はカラーリストから"Candy"を設定
plot.colormap = 'Candy'
plot.shapelist = [3, 2, 1]

補足

    "graph = op.new_graph(template='scatter')"

では"template="のあとにOriginのグラフテンプレート名を指定することで特定の形式のグラフを作成できます。例えば、"line"とすると折れ線グラフが作成できます。

作成される散布図

X軸をLogスケールに変更する

X軸をLogスケールにする場合には、下記サンプルにあるように"graph[0].xscale = 2"のように軸形式を指定します。

import os
import originpro as op

#ファイルをインポートして折れ線グラフを作成
wks = op.new_sheet()
wks.from_file(os.path.join(op.path('e'), 'Samples', 'Curve Fitting', 'Dose Response - Inhibitor.dat'))
graph = op.new_graph(template='line')

#logスケールに変更
graph[0].xscale = 'log10'   

graph[0].label('legend').remove()

#アンチエイリアシングをオンに設定
graph.set_int('aa', 1)

#グラフにプロットを追加
plot = graph[0].add_plot(wks, coly=1, colx=0, type='line')
plot.color = '#dc143c'

#再スケールしたあとにy軸の範囲を編集
graph[0].rescale()
graph[0].set_ylim(begin=0, end=100, step=10)

補足

    "graph[0].xscale = 'log10'"

では軸のスケール方法を指定しています。他のスケールを指定したい場合、'log10'のところを線形の場合には'linear'、確率の場合には'probability'というように記述します。詳しくは下記ページをご覧ください。

Logスケールに変更

他の列の情報を使ってフォーマットを編集

作図後、プロットのシンボルの大きさや形といったフォーマットをほかの列データを使ってコントロールすることができます。
実際には、下記のサンプルのようにします。

import originpro as op
		
wks = op.new_sheet();
#プロットに使用するデータを作成
wks.cols=6
x=[1,2,3,4,5]
for i in range(6):
    wks.from_list(i,x)

graph = op.new_graph(template='scatter')
layer = graph[0]
plot = layer.add_plot(wks, coly=1, colx=0)
layer.rescale()

#プロットの色をYデータの列から+1列右側にあるデータを使ってコントロール
plot.color = op.color_col(1, 'n')

#プロットの種類をYデータの列から+2列右側にあるデータを使ってコントロール
plot.symbol_kind = op.modi_col(2)

#プロットのサイズをコントロール
plot.symbol_size = op.modi_col(3)

#縮尺倍率を設定
plot.symbol_sizefactor=10

#プロット内部の表示をコントロール
plot.symbol_interior = op.modi_col(4)
プロットを編集

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

前回の連載はこちら

Python連載企画一覧ページ

次回の連載はこちら

page_top_icon