画像形式のグラフから数値データを得る方法

posted in: Computational Science | 0

意義

世の中には様々な形式のデータがあります

大きく分ければ、数字が文字で表されているか、それ以外の方法で表されているか、となるでしょう

前者の場合、数字を表から直接読み取ることになりますし、後者の場合であれば、棒グラフや散布図から数字を視覚的に把握することになります

特に、膨大な量のデータであれば、グラフから一挙に読み取ることが効率的です

このようなグラフは多くの場合、画像形式で論文などに掲載されています

しかし、そうするとプロットの大まかな値は読み取れても、正確な数値を読み取ることは難しくなります

さらに、全てのプロットの正確な数字を知りたい場合には、手作業で読み取っていたのでは膨大な時間がかかる恐れがあります

そこで、そのような問題を解決するツールがweb上に存在します

WebPlotDigitizerというツールです

WebPlotDigitizer – Extract data from plots, images, and maps (automeris.io)

このツールに画像形式のグラフを読み込ませると、画像上のピクセル座標とプロットの値をいくつか対応させることで、残りのプロットの値を自動で読み取ってくれます!

読み取ってくれたデータは、.csv形式でダウンロード可能です

それでは、その使い方を見ていきましょう

使用方法

今回GAINENZではこのようなデータを用意しました

時間の進行にしたがって材料の弾性率が小さくなるようなイメージを表したグラフです

材料は数種類あるとしています(それぞれ赤、オレンジ、水色、紫色で表示)

また一般的なレオメーターによる測定を想定して、初期の時間だけプロット間隔を狭めてあります

この画像をWebPlotDigitizerに読み込ませていきましょう

上のリンクを開きます

Load Imageから読み込ませたいグラフの画像をアップロードします

散布図の場合は、 2D (X,Y) Plotを選び、Align Axesをクリックします

ピクセル座標とプロットの値を対応させます

4点選択しますが、注意点があります

x座標の左端・右端、y座標の下端・上端

という順番で画像の上をクリックしましょう

さらに、選んだ4点の対応する値をそれぞれ入力しましょう

チェックボックスとOKをクリックし、次に進みます

ここで解析モードになります

色ごとにプロットの値を得るのが、選択的かつ効率的なやり方となります

画像では水色のプロットを解析するために、Penツールでその上をなぞっています

解析対象部分は黄色で表されます

Foreground Colorは解析対象となるプロットの色に合わせましょう

ΔXとΔYにプロット点の大きさを入力し、Runをクリックします

すると解析後のプロットが赤色で示されます

上手く解析できていれば、画像のように元のプロットの上に、解析後のプロットがピッタリと一致して表示されます

(今回、紫のプロットだけは一度に解析するのが困難でしたので、0.8くらいを区切りとして左側と右側を別々に解析し、最終的にこれらのデータを組み合わせています)

得られたデータの値はView Dataから閲覧できます

Download .CSVからダウンロードでき、エクセルなどのソフトで読み込むことができます

得られた数字からグラフを再現し、元のグラフと比較してみましょう

元のプロットの色は時間増加に伴って薄くなるという、やや複雑な描画でしたが、今回のツールから得られたプロットはそれを再現できています

見た目を議論する上ではほぼ問題なさそうですし、非公式な議論用であれば近似式を算出してもよさそうです

以上、画像形式のグラフからプロットの値を取り出す方法でした

コメントを残す