在Python绘图中,"1e8"在y轴上是什么意思?

10

这是我的代码:

import numpy as np
import matplotlib.pyplot as plt

def f(x):
return np.exp(x)

x=np.linspace(-20,20,201)

我正在用Python绘制e^x图形,但是当我使用linspace创建等间距点时,y轴似乎出现了一些奇怪的问题。当我选择:

x = np.linspace(-20,20,201)

纵轴显示不正确,函数应该在x = 0时与y轴相交于1。但是在图中似乎并非如此。在y轴上方写着“le8”,这是什么意思?

然而,当我尝试:

x = np.linspace(0,3,201)

当 x = 0 时,该图在 y 轴上交叉于 1,这是正确的。然而,该图上没有显示"le8"。


3
你的意思是 1e8,也就是 1 * (10 ** 8) 吗? - jonrsharpe
这是一个好问题...我以为它是字母"l"。1*10^8肯定更有意义。但是这对y轴有什么影响呢?在图中,y轴有整数1、2、3、4...,而函数的因变量值远低于1穿过y轴。我猜这些值实际上是1 * 10^8? - Truxton Boyce
你可以使用 plt.ticklabel_format(useOffset = False) 来去除它。 - zyy
2个回答

21

1e8 是标准科学记数法,它指示了 y 轴的总体缩放因子。也就是说,如果在 y 轴上有一个 2,而在顶部有一个 1e8,那么 2 处的值实际上表示为 2*1e8 = 2e8 = 2 * 10^8 = 200,000,000

请注意,exp(20) = 4.85e8exp(3) = 20.1,由于第一个数字过大且难以直接表达,第二个数字可以直接表达,所以第一个是用科学记数法表示的而第二个没有(显式地)使用科学记数法。


0
在Python中,可视化中的符号'1e8'通常使用科学计数法表示值。在这种情况下,它表示1乘以10的8次方,即1亿。这种表示法经常用于在可视化中更方便地处理大数值,特别是在处理跨越广泛数量级的数据时。它通过在刻度标签上以紧凑和标准化的形式表达值,有助于保持可视化的清晰度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接