我想将线性图转换为指数图。在 SCORE 的 x 轴值上生成 2 个值,范围从[-1,-0.9,-0.8,..0,0.1,0.2,....1]
和 y 轴值范围从[0,255]
生成的线性图是
我希望生成下图中给出的指数图
我想缩放 y 值,使其具有指数形状,最大值为255
.
我想将线性图转换为指数图。在 SCORE 的 x 轴值上生成 2 个值,范围从[-1,-0.9,-0.8,..0,0.1,0.2,....1]
和 y 轴值范围从[0,255]
生成的线性图是
我希望生成下图中给出的指数图
我想缩放 y 值,使其具有指数形状,最大值为255
.
您只需要缩放 y 轴的值,但首先您需要做一些简单的数学运算。由于您希望最大 y 值为 255,因此您需要解决:
这导致:
因此,您必须按此数字进行缩放。现在让我们看看代码
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()