Python 绘图中沿x轴的非等间距点

Python 绘图中沿x轴的非等间距点,python,numpy,matplotlib,Python,Numpy,Matplotlib,当我想用pyplot绘制一条曲线时,我通常要做的是创建一个向量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值的间距不相等。

当我想用pyplot绘制一条曲线时,我通常要做的是创建一个向量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
向量的正确方法是什么?

一般来说,没有明确的答案。但你当然可以选择所需密度的完整范围

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))
可能对你有帮助