我一直在尝试重现此处显示的图表:如您所见,x 轴是仅包含负值的对数刻度。我在网上找了一些技巧。他们中的大多数处理了我不想使用的 matplotlib 的 symlog 函数,因为我试图绘制的函数仅在 ]-inf, 0[ 上定义。所以我要求另一个建议。此外,我希望 x 轴仅显示附件上的三个刻度(即 -10^0、-10^-2、-10^-4)。欢迎任何提示!谢谢!
该函数的代码是:
x = np.linspace(-1, -0.0001, 10000)
a = 2*np.log((1+(1-16*20*x)**0.25)/2) +np.log((1+((1-16*20*x)**0.25)**2)/2) - 2*np.arctan((1-16*20*x)**0.25) + np.pi/2
b = 2*np.log((1+(1-16*10*x)**0.25)/2) +np.log((1+((1-16*10*x)**0.25)**2)/2) - 2*np.arctan((1-16*10*x)**0.25) + np.pi/2
c = 2*np.log((1+(1-16*5*x)**0.25)/2) +np.log((1+((1-16*5*x)**0.25)**2)/2) - 2*np.arctan((1-16*5*x)**0.25) + np.pi/2
y = (np.log(20/5) - a + b)/(np.log(10/5) - c + b)