请考虑以下代码:
from numpy import log2
import matplotlib.pyplot as plt
xdata = [log2(x)*(10/log2(10)) for x in range(1,11)]
ydata = range(10)
plt.plot(xdata, ydata)
plt.show()
Run Code Online (Sandbox Code Playgroud)
这会产生以下情节:
我的问题是,我该如何修改它,以便绘图与输入的数据完全相同,显示为一条直线?这基本上需要适当地缩放x轴,但我无法想象如何做到这一点.这样做的原因是我显示的函数在开始时变化很小,但在有效间隔结束时开始更多地波动,所以我希望在结束时有更高的水平分辨率.如果有人可以为我的方法提出替代解决方案,请随意这样做!