Pythonで1ジュールを何に相当するかをビジュアルで表現する

スポンサーリンク

前回「ジュールの定義や計算方法を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)に換算し、それぞれのエネルギー量で表示させることができました。

コメント

タイトルとURLをコピーしました