logo

logo

メールマガジン・新着情報一覧

  1. TOP
  2. メールマガジン・新着情報一覧
  3. D-0162. ヒストグラムをPythonで確認する — YO

2020.07.15

D-0162. ヒストグラムをPythonで確認する — YO

◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
 
ヒストグラムを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くらい調べる必要がある
ということも分かりました。

使いこなせるようになれば高度な計算ができるプログラミング。
また、欲しい機能を調べて挑戦してみたいと思います。


--
Y.O

一覧に戻る

お問い合わせ Contact

048-441-1133

お問合せフォーム