数字の単位は英語で?戦闘からビジンチリアンまで、Pythonで3D可視化を行う

みなさん、こんにちは!今日は本当にエキサイティングなテーマでやってきました。 数字単位の英語表現の仕方と、その表現方法です。 パイソンで素敵な3Dビジュアライゼーションを行う方法について説明します。 皆さん、「Vigintillion」という言葉を聞いたことがありますか? これが一体どれほど大きな数字か想像できますか?

今日は'Thousand'(千)から始まり、'Vigintillion'(ビギンティリオン)まで、英語で表現される巨大な数字の単位をPythonのMatplotlibライブラリを使って素敵な3Dグラフを作成します。 この過程を通じて、数字の規模を視覚的に理解すると同時に、Pythonの強力なデータ可視化能力を体験することができます。 さあ、始めましょうか。

英語数字単位の拡張された世界

英語で大きな数字を表現するとき、私たちがよく知っている'Million','Billion','Trillion'以外にももっと大きな単位が存在することをご存知ですか?今日ご紹介する数字の単位は以下の通りです。

  1. Thousand (10³, 一千)
  2. Million (10⁶, 百万)
  3. Billion (10⁹, 十億)
  4. Trillion (10¹², 日照)
  5. Quadrillion (10¹⁵, 千兆)
  6. Quintillion (10¹⁸、百景)
  7. Sextillion (10²¹、十年)
  8. Septillion (10²⁴、日付)
  9. Octillion (10²⁷, 穿刺)
  10. Nonillion (10³⁰、白羊)
  11. Decillion (10³³, 十九³³, 十九)
  12. Undecillion (10³⁶、毎日)
  13. Duodecillion (10³⁹、千間)
  14. Tredecillion (10⁴², 白丁)
  15. Quattuordecillion(10⁴⁵、十二単)
  16. Quindecillion(10⁴⁸, 一極)
  17. Sexdecillion (10⁵¹, 天極)
  18. セプテンデシリオン(10⁵⁴、百項下士官)
  19. Octodecillion (10⁵⁷⁷, 十進法)
  20. Novemdecillion (10⁶⁰, イルナユタ)
  21. Vigintillion (10⁶³、千名湯)
숫자 단위 영어로 한걸 한글로 표시한 그림1
숫자 단위 영어로 한걸 한글로 표시한 그림2

このような単位は、主に科学や天文学、または理論的な数学の分野で使われることが多く、日常生活ではなかなか接することのない数字です。

Pythonで数値単位を3Dで可視化する

では、この膨大な数の単位をPythonのMatplotlibライブラリを使用して3Dで可視化します。 3D棒グラフを作成し、各単位の大きさを直感的に比較します。

import numpy as np
matplotlib.pyplot を plt としてインポートする
mpl_toolkits.mplot3d from mpl_toolkits.mplot3d import Axes3D

# データの準備
units = [...
    'Thousand', 'Million', 'Billion', 'Trillion', 'Quadrillion', 'Quintillion'、
    'Sextillion', 'Septillion', 'Octillion', 'Nonillion', 'Decillion'、
    'Undecillion', 'Duodecillion', 'Tredecillion', 'Quattuordecillion', 'Quindecillion', 'Sexdecillion', 'Quadrillion', 'Quintillion', 'Septillion', 'Octillion', 'Nonillion', 'Decillion'、
    Sexdecillion', 'Septendecillion', 'Octodecillion', 'Novemdecillion', 'Vigintillion'.
]
values = np.array([10**3, 10**6, 10**9, 10**12, 10**15, 10**18, 10**21, 10**24, 10**27, 10**30, 10**33、
                   10**36, 10**39, 10**42, 10**45, 10**48, 10**51, 10**54, 10**57, 10**60, 10**63], dtype=float)
colors = plt.cm.viridis(np.linspace(0, 1, len(units)))

# 3Dグラフの設定
fig = plt.figure(figsize=(20, 15))
ax = fig.add_subplot(111, projection='3d')

#棒グラフを描くためのデータ
x = np.range(len(units))
y = np.zeros_like(x)
z = np.zeros_like(x)

dx = dy = 0.8
dz = np.log10(values)

# 3D棒グラフ生成
scatter = None
bars = [].
for i, (value, color) in enumerate(zip(dz, colors)):
    bar = ax.bar3d(x[i], y[i], z[i], dx, dy, value, color=color, alpha=0.8)
    bars.append(bar)

# 軸のラベル設定
ax.set_xticks(x)
ax.set_xticklabels(units, rotation=45, ha='right')
ax.set_ylabel('Y axis')
ax.set_zlabel('Log10 of Value')

# タイトル設定
plt.title('3D Visualization of Extended English Number Units (up to Vigintillion)', fontsize=16)

# カラーバー追加
plt.tight_layout()
plt.subplots_adjust(right=0.8) # 右側の余白追加

# カラーマップ生成
norm = plt.Normalize(vmin=min(dz), vmax=max(dz))
sm = plt.cm.ScalarMappable(cmap=plt.cm.viridis, norm=norm)
sm.set_array([])

#カラーバーを追加(別のAxesを生成)
cax = fig.add_axes([0.85, 0.15, 0.15, 0.03, 0.7]) # [left, bottom, width, height].
cbar = plt.colorbar(sm, cax=cax)
cbar.set_label('Log10 of Value', rotation=270, labelpad=15)

plt.show()

コード解説

  1. 必要なライブラリをインポートします。Numpyは数値計算を、Matplotlibはグラフ作成を担当します。
  2. 英語の数値単位とそれに対応する値を用意します。今回は「Vigintillion」まで拡張しました。
  3. 3Dグラフを設定し、各単位のバーを描画します。 bar3d 関数を使用して3Dバーを生成します。
  4. 軸のラベルとタイトルを設定し、カラーバーを追加して値の大きさを直感的に表現します。
  5. 対数スケールを使用して、大きな数値の差を効果的に表現します。これにより、'Thousand'から'Vigintillion'までの巨大なサイズの違いも一つのグラフで表現することができます。
숫자 단위 영어로 나타내기 - 파이썬 시각화 그림
( 数値単位で英語で表す - Pythonの視覚化図 )

数字単位英語 - Pythonの3Dグラフの感触

このように作成した3Dグラフを見ると、英語の数字単位の大きさが一目瞭然です。 Thousand」から「Vigintillion」に行くにつれて、数字の大きさが指数関数的に増えていくのですが、対数スケールで見ているので、単純に逐次増えていくように見えます。

このようなビジュアライゼーションを行うことで、私たちは大きな数字の概念をより理解しやすくなりました。 Billion」がどれほど大きな数字なのか、「Vigintillion」がどれほど巨大な数字なのかを直感的に把握することができます。 特に、Pythonの3Dグラフを使用することで、単に高さだけでなく、空間感が加わり、数字の規模をよりリアルに表現できるようになりました。

整理する

今日は数字の単位を英語で表現する方法を学び、Pythonの3Dグラフで視覚化してみました。 Thousand」から「Vigintillion」まで、想像を絶するほど大きな数字を一目で比較することができました。

この過程で、単純に数字を並べるだけでなく、視覚化がいかに強力なツールであるかを知ることができました。 特に、対数スケールと3Dグラフを活用することで、大きなサイズの差があるデータも効果的に表現できることを学びました。

皆さんもこのような方法で様々なデータを可視化してみませんか?PythonとMatplotlibは本当に強力なツールです。あなたのデータに隠された物語を解き明かすのに大いに役立ちます。 次はどんな面白いデータを3Dで表現できるでしょうか?あなたの想像力を存分に発揮してください!

それでは、また次回も面白いテーマでお邪魔しますね。 では、さようなら!ちなみに、ハングルの数字の体系はどうなるのでしょうか? ここをクリックして 知識の幅を広げましょう!

類似の投稿