連載「知って得する干渉計測定技術!」

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ ヒストグラムをPythonで確認する 発行:エスオーエル株式会社 https://www.sol-j.co.jp/ 連載「知って得する干渉計測定技術!」 2020年7月15日号 VOL.162 平素は格別のお引き立てを賜り、厚く御礼申し上げます。 干渉計による精密測定やアプリケーション例などをテーマに、 無料にてメールマガジンとして配信いたします。 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ こんにちは。営業技術グループの落合です。 前回の担当メルマガにて、平均や標準偏差を 学習中のPythonで出力する話題について書きました。 今回もこれにお付き合い頂き、   ヒストグラムをPythonで確認する として、 ヒストグラムをPythonで作成してみます。 今回は、実行結果が図のため、 メールマガジンにはコードのみを記したいと思います。 (前回ご紹介した  「Google Colaboratory」というサービスに  そのまま打ち込むと、すぐに結果が出ます。) 以下、頭に#がついた行はコメントです。 実行時に、#から行末までが無視されます。 【コードはじめ】 #モジュールのインポート import numpy as np import matplotlib.pyplot as plt # 測定値の読み込み x_data = np.array([5.1, 5.0, 4.6, 6.1, 3.2, 6.5, 4.2, 6.1, 4.1, 5.6]) # ヒストグラムの作成 plt.hist(x_data, bins=8, range=(0,10)) # ヒストグラムの表示 plt.show() 【コード終わり】 コードは以上で終わりです。 短いです。 しかし、初学者として 細かく確認していきたい点があります。 ⇒#モジュールのインポート  import numpy as np  import matplotlib.pyplot as plt  では、  今回必要なモジュールを読み込んでいます。  numpy は配列に関する機能のモジュールです。 matplotlib.pyplotは、グラフ描画機能のモジュールです。   「matplotlib.pyplot」となっているのは、  matplotlibのモジュールのうち、  さらにpyplotという機能だけを読み込むことを示しています。 ⇒#測定値の読み込み  x_data = np.array([5.1, 5.0, 4.6, 6.1, 3.2, 6.5, 4.2, 6.1, 4.1, 5.6])  では、架空の測定値10点を用意しました。  10点ではさみしい感じがしますが、  メルマガが長くなってしまうのを避けつつ  それなりの見栄えのヒストグラムができるベストなデータ数です。  np.array([])の中に入れることで、  右辺で新しい配列を作成し、左辺のx_dataという変数に代入しています。 ⇒#ヒストグラムの作成  plt.hist(x_data, bins=8, range=(0,10))  では、  plt.hist()という関数を呼び出し(=実行する事)ています。  この関数は、カッコ内に  plt.hist(測定値の配列, bins=階級数, range=(x軸の最小値, x軸の最大値))  のように入力することで、  ヒストグラムデータ(度数分布表のデータ)  を作成し、出力するという働きをします。  ヒストグラムはエクセルで作成する場合、  階級(0.1ごとに区切るなら、5.1、5.2、5.3・・・)を手入力して  分析ツールを起動するなど少々手数がかかります。  特に階級数を変更する際、この一行で済むのは楽だと感じました。  ちなみに、  Python等のプログラミング言語では、  関数()内への入力を引数と呼び、  出力されるデータ(値)を戻り値と言います。  一般的に「関数」はカッコ内に入力を入れると、結果が出力されますが、  その通りの名称だなあと思います。 ⇒#ヒストグラムの表示  plt.show()  では、  plt.show()は、前の行で出力されたデータをグラフ描画する関数です。  plt.hist()だけではデータが作られただけで、グラフは表示されません。  プログラムは一行一処理しかできないんだなあと感じる一行です。  ちなみに、plt.hist()は、戻り値のある関数でしたが、  plt.show()は、戻り値のない関数です。  この関数は、グラフ描画をするという  固有の処理が割り当てられているだけで、入力や出力がありません。  この場合、数学の「関数」とは意味が違います。 以上、私のコード読み下しに お付き合い頂き、ありがとうございました。 この数カ月少しずつPythonを触ってみましたが、 ごく簡単なコードを動かすまでの道のりが長かったです。 (エラーばかり起こります。) 1の楽な機能を見つけても、 間違いなく使うには10くらい調べる必要がある ということも分かりました。 使いこなせるようになれば高度な計算ができるプログラミング。 また、欲しい機能を調べて挑戦してみたいと思います。 ●┳┳┳●━━━━ 連 絡 先 ━━━━━━━━━━━━━ ┣╋╋○ エスオーエル株式会社 ( SOL ) ┣╋○ 〒335-0012 埼玉県戸田市中町1-34-1 ┣○ Tel: 048-441-1133 Fax: 048-445-1678 ● Email: sales@sol-j.co.jp Web: https://www.sol-j.co.jp    --デモ測定を承ります-- 詳細は上記Webサイトまで

測定機に関する理論や解析技術の情報発信として、定期的にメールマガジンを無料配信しています。メルマガにご登録頂くと、最新情報やWEB未公開の情報をいち早くお手元にお届けすることができます。

メルマガご登録はこちらから