はじめに
X, Y, Z列があるcsvから表面形状画像を作成する画面を作成したので紹介します。
例)
元データ.csv
X | Y | Z |
---|---|---|
0.0 | 0.0 | 4.0 |
1.0 | 0.0 | 5.0 |
2.0 | 0.0 | 7.0 |
... | ... | ... |
以下に保存しています。
操作可能な動作は次の通りです。
- 最大100点までの座標間補間
- 補間方法の選択
- nearest
- linear
- cubic
- 表面グラフに元データ座標点の表示
- カラーバーの操作
- 縦横の断面データ取得
- 表面データ、断面データのcsv出力
環境
Mac OS
Python 3.8.8
pipでインストールしたもの
colorcet==2.0.6
numpy==1.20.1
pandas==1.2.3
pgcolorbar==1.1.0
PyQt5==5.15.4
pyqtgraph==0.11.1
scipy==1.6.1
動作方法
main.py
とsurfaceplot
フォルダがコードです。
ダウンロードして環境を整えた後、 main.py
を実行してください。
サンプルcsvはsampleフォルダ内に入っています。
.
├── README.md
├── demo
├── export
├── main.py <- これを実行
├── requirements.txt
├── sample <- サンプルcsv有り
├── screenshot
└── surfaceplot <- コード有り
機能紹介
補間
scipy.interpolate.griddata
を使用しています。
点数変更
座標間を1 ~ 100分割で補間できます。(1は補間無しの状態)
補間数:1
方法変更
線形、3次スプライン、最近傍補間を選択できます。
元データ座標表示
csv出力
以下がcsv出力可能です。出力したcsvはexportフォルダに保存されます。
- 表面画像(座標無)
- 表面画像(座標有)
- 横方向断面データ
- 縦方向断面データ
その他
- 表示中の断面座標表示(右上)
- 表面形状データの最大・最小値表示(右下)
- マウスカーソル点の値表示(断面グラフ内の赤点)