绘图中沿x轴的非等距点

时间:2018-12-13 16:07:20

标签: python numpy matplotlib

当我想用pyplot绘制曲线f(x)时,通常要做的是创建一个向量X,其中所有x值均等距分布:

import numpy as np
X=np.linspace(0.,1.,100) 

然后我创建函数

def f(x):
    return x**2

然后我做情节

from matplotlib import pyplot as plt
plt.plot(X,f(X))
plt.show()

但是,在某些情况下,当函数在某些区域中非常僵硬而在其他区域中非常平滑时,我可能希望x值不等距。 为我要绘制的函数正确选择最佳X向量的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

一般而言,对此没有明确的答案。但是,您当然可以始终选择具有所需密度的完整范围

X = np.linspace(0.,1., 6000) 

或者您可以确定一些间隔并为这些间隔设置不同的密度

x1 = np.linspace(0.0,0.5, 60) 
x2 = np.linspace(0.5,0.6, 5000) 
x3 = np.linspace(0.6,1.0, 10) 
X = np.concatenate((x1, x2, x3))