英语中的数字单位?Python 中的 3D 可视化:从战场到视觉系统
大家好!今天我们将讨论一个非常激动人心的话题:如何用英语表达数字单位,以及如何在文章中使用它们。 Python你以前听说过 "Vigintillion "这个词吗? 你能想象这个数字有多大吗?
今天,我们将从 "Thousand "开始到 "Vigintillion "结束,使用 Python 的 Matplotlib 库将英语中一些最大的数字单位转换成令人惊叹的 3D 图形。 在此过程中,我们将获得对数字规模的直观理解,并体验 Python 强大的数据可视化功能。 那么,让我们开始吧!
英语数字单位的扩展世界
您知道英语中还有比我们熟悉的 "百万"、"十亿 "和 "万亿 "更大的单位来表示大数字吗?今天,我们将介绍以下数字单位
- 千(10³,一千)
- 百万 (10⁶, million)
- 十亿(10⁹,十亿)
- 万亿(10¹²,阳光)
- 万亿(10¹⁵,万亿)
- 五亿(10¹⁸,白色圆圈)
- 六亿(10²¹,十年)
- 十亿(10²⁴,日期)
- 十亿(10²⁷,千分之一)
- 绵羊(10 ⁰,白羊)
- 十亿(10³³³, 19)
- 十亿分之一(10³⁶,每天)
- 十二亿(10³⁹,天体)
- 十亿分之一(10⁴²,白色晶体)
- 夸父十亿(10⁴⁵,十个刻钟)
- 十亿昆德拉(10⁴⁸,单极)
- 性十亿(10⁵¹,天极)
- 九亿(10⁵⁴,一亿)
- 十万亿(10⁵⁷,12 万亿)
- 十一月十亿(10⁶⁰,犹他州伊尔纳市)
- Vigintillion (10⁶³, 田纳西州)


这些单位通常用于科学、天文学或理论数学--我们在日常生活中并不常见到的数字。
用 Python 实现数字单位的 3D 可视化
现在,我们将使用 Python 的 Matplotlib 库将这些巨大的数字单位可视化为三维图形。 我们将创建一个三维条形图,直观地比较每个单位的大小。
将 numpy 导入 np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
准备 # 数据
单位 = [
千"、"百万"、"十亿"、"万亿"、"四亿"、"五亿"、
六百万亿"、"七百万亿"、"八百万亿"、"九百万亿"、"十百万亿
十亿"(Undecillion)、"十二亿"(Duodecillion)、"十亿"(Tredecillion)、"十五亿"(Quattuordecillion)、"十亿"(Quindecillion)、
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)
colours = plt.cm.viridis(np.linspace(0, 1, len(units)))
设置 # 三维图形
fig = plt.figure(figsize=(20, 15))
ax = fig.add_subplot(111, projection='3d')
绘制 # 条形图的数据
x = np.array(len(units))
y = np.zeros_like(x)
z = np.zeros_like(x)
dx = dy = 0.8
dz = np.log10(values)
生成 # 三维柱形图
散点 = 无
条形 = []
for i, (value, color) in enumerate(zip(dz, colours)):
bar = ax.bar3d(x[i], y[i], z[i], dx, dy, value, color=colour, alpha=0.8)
bars.append(bar)
设置 # 轴标签
ax.set_xticks(x)
ax.set_xticklabels(units, rotation=45, ha='right')
ax.set_ylabel('Y 轴')
ax.set_zlabel('Log10 of Value')
设置 # 标题
plt.title('3D Visualisation of Extended English Number Units (up to Vigintillion)', fontsize=16)
# 添加色条
plt.tight_layout()
plt.subplots_adjust(right=0.8) # 添加右边距
创建 # 彩图
norm = plt.Normalise(vmin=min(dz), vmax=max(dz))
sm = plt.cm.ScalarMappable(cmap=plt.cm.viridis, norm=norm)
sm.set_array([])
添加 # 彩条(创建单独的坐标轴)
cax = fig.add_axes([0.85, 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()代码评注
- 导入必要的库。Numpy 负责数值计算,而 Matplotlib 则负责生成图形。
- 准备英语数字单位及其相应的数值。这次,我们将其扩展为 "Vigintillion"。
- 使用 bar3d 函数生成三维条形图。
- 设置坐标轴标签和标题,添加颜色条,直观地表示数值的大小。
- 使用对数刻度可以有效地表示大数之间的差异。这样,您就可以在一个图表中显示从 "千 "到 "万 "之间的巨大差异。

Numeric in English - Python 3D 图形的感觉
通过这张三维图,您可以很好地了解英语数字单位的规模:从 "千 "到 "维京特亿",数字的大小呈指数增长,但由于我们是按对数标度来观察的,所以看起来只是按顺序增加。
这样的可视化让我们更容易理解大数字的概念--我们可以直观地掌握一个 "十亿 "有多大,或者一个 "万亿 "有多大,而通过使用 Python 三维图形,我们可以让数字的比例栩栩如生,不仅是高度上的比例,还有空间上的比例。
组织起来
今天,我们学习了如何用英语表达数字单位,并用 Python 3D 图形将其可视化,这样我们就能一目了然地比较从 "千 "到 "万 "等难以想象的大数字。
在这个过程中,我们意识到可视化比简单地罗列数字更有力量,尤其是通过使用对数标度和三维图形来有效地表示大小差异巨大的数据。
为什么不以这种方式将各种数据可视化呢?Python 和 Matplotlib 是非常强大的工具。它们能帮你揭开数据背后的故事。 接下来,你能用 3D 可视化什么有趣的数据呢?尽情发挥你的想象力吧!
下一次,我将带来另一个有趣的话题,再见!对了,韩国的数字系统怎么样? 单击此处下载 扩展你的知识!






