前回「ジュールの定義や計算方法をPythonで実装する方法」という記事を公開しましたが、今回はPythonで1ジュールを何に相当するかをビジュアルで表現してみます。
なお、今回はmatplotlibとnumpyを用います。このライブラリはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■今回の環境(Python)
Google Colaboratory(Google Colab),2023年3月18日時点ではPython 3.9.16が用いられる。
■1ジュールを何に相当するかをビジュアルで表現する
では、早速1ジュールを何に相当するかをビジュアルで表現するコードを書いていきます。
■コード
import matplotlib.pyplot as plt import numpy as np # エネルギーの定義 J = 1 # 1ジュールに相当する物体の重さと高さ # 物体の質量がm = 0.102 kgであるとき、高さhメートルから自由落下したときに物体に与えられる運動エネルギー(J)によって、物体が地球の重力によって加速される時間を計算する式 # 9.8は地球の重力加速度で、Jはジュール単位で表される運動エネルギー m = 0.102 # 102グラム h = J / (m * 9.8) # 棒グラフの作成 objects = ('1 Joule', '1 peanut', '1 apple', '1 hamburger') # ndarray型の連続した配列を作成する y_pos = np.arange(len(objects)) energy = [J, 0.25, 200, 2500] # エネルギー量のリスト(Joule) #棒グラフを描画する plt.bar(y_pos, energy, align='center', alpha=0.5) #目盛の表示値(x軸ラベル) plt.xticks(y_pos, objects) #目盛の表示値(y軸ラベル) plt.ylabel('Energy (Joule)') # 相当する高さをプロット plt.plot([-0.5, 3.5], [h, h], "r--") #グラフ内にテキストを表示 plt.text(1, h+0.1, "Equivalent height: {:.1f} m".format(h)) #実行 plt.show()
今回は1ジュールに相当するエネルギー量を1個のピーナッツ(peanut)、1個のリンゴ(apple)、1つのハンバーガー(hamburger)に換算し、それぞれのエネルギー量を棒グラフで表示します。
※今回の各エネルギー量は正確ではない可能性があるので、正確なものを知りたい場合は各自で調べてください。
■実行・検証
このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。
セルを実行してみると、棒グラフが表示され、1ジュールに相当するエネルギー量を1個のピーナッツ(peanut)、1個のリンゴ(apple)、1つのハンバーガー(hamburger)に換算し、それぞれのエネルギー量で表示させることができました。
コメント