グラフ作成
ここでは"originpro"パッケージを使ってグラフを作成する方法をご紹介します。
単純に散布図を作成する方法、軸をLogスケールに変更する方法、さらに他の列の情報を使ってフォーマットを編集する方法の3つについて、サンプルプログラムを使ってまとめました。
※Origin2021bで実行しています。
Pythonコードの実行方法は下記リンクを参照してください。
ここでは"originpro"パッケージを使ってグラフを作成する方法をご紹介します。
単純に散布図を作成する方法、軸をLogスケールに変更する方法、さらに他の列の情報を使ってフォーマットを編集する方法の3つについて、サンプルプログラムを使ってまとめました。
※Origin2021bで実行しています。
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スケールにする場合には、下記サンプルにあるように"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'というように記述します。詳しくは下記ページをご覧ください。
作図後、プロットのシンボルの大きさや形といったフォーマットをほかの列データを使ってコントロールすることができます。
実際には、下記のサンプルのようにします。
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"パッケージに導入されているクラスの一覧やリファレンスは下記リンクから確認できます。