首页 > 解决方案 > 图中沿 x 轴的非等距点

问题描述

当我想f(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为我要绘制的函数正确选择最佳向量的正确方法是什么?

标签: pythonnumpymatplotlib

解决方案


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

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))

推荐阅读