根据值将线性图转换为指数图

convert linear graph to exponential graph based on the values

我想将线性图转换为指数图。 在 SCORE 的 x 轴值上生成 2 个值,范围从 [-1,-0.9,-0.8,..0,0.1,0.2,....1] 和 y 轴值范围从 [0,255]

生成的线性图为

我想要生成下图中给出的指数图

我想以这样的方式缩放 y 值,使它们具有指数形状,并且它们的最大值为 255

您只需要缩放 y 轴的值,但首先您需要做一些简单的数学运算。由于您希望最大的 y 值是 255,因此您需要解决:

eq1

这导致:

eq2

因此,您必须按此数字进行缩放。现在让我们看看代码

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1,1,21)
y = np.linspace(0,255,21)

#scaling here
y = (np.e**(np.log(255)/255))**y

plt.xlabel("Score")
plt.ylabel("Pixel")
plt.plot(x,y)
plt.show()