LoginSignup
2
1

More than 3 years have passed since last update.

pyqtgraphで表面形状分析グラフの作成

Last updated at Posted at 2021-04-10

はじめに

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
... ... ...

表示結果
screenshot2.png

以下に保存しています。

操作可能な動作は次の通りです。

  • 最大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.pysurfaceplotフォルダがコードです。
ダウンロードして環境を整えた後、 main.pyを実行してください。
サンプルcsvはsampleフォルダ内に入っています。

.
├── README.md
├── demo
├── export
├── main.py <- これを実行
├── requirements.txt
├── sample <- サンプルcsv有り
├── screenshot
└── surfaceplot <- コード有り

機能紹介

補間

scipy.interpolate.griddataを使用しています。

点数変更

座標間を1 ~ 100分割で補間できます。(1は補間無しの状態)
補間数:1
補間数1.png

補間数:100
補間数100.png

方法変更

線形、3次スプライン、最近傍補間を選択できます。

補間方法.png

元データ座標表示

黒点が元データのX, Y座標です。
元データ座標点表示.png

csv出力

csv出力.png

以下がcsv出力可能です。出力したcsvはexportフォルダに保存されます。

  • 表面画像(座標無)
  • 表面画像(座標有)
  • 横方向断面データ
  • 縦方向断面データ

その他

  • 表示中の断面座標表示(右上)
  • 表面形状データの最大・最小値表示(右下)
  • マウスカーソル点の値表示(断面グラフ内の赤点)
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1