Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当std()不起作用时,如何从matplotlib绘图中删除极值_Python_Numpy_Matplotlib - Fatal编程技术网

Python 当std()不起作用时,如何从matplotlib绘图中删除极值

Python 当std()不起作用时,如何从matplotlib绘图中删除极值,python,numpy,matplotlib,Python,Numpy,Matplotlib,我在matplotlib中打印时遇到问题,但问题可能更多地是关于处理numpy数组,而不是打印本身-matplotlib中的解决方案可能更可取 问题在于:我有两个形状为(1000)的nDarray,xvals和yvals,它们被解释为拟合的x和y坐标(它们应该围绕某个值居中)。与其他元素相比,某些元素(但不是很少!)具有非常大的绝对值(因子1000或更大)。我无法将轴设置为某个固定值的原因是mean(xvals)和mean(yvals),它们的标准偏差在绘图之间变化很大 我想用类似于plt.pl

我在
matplotlib
中打印时遇到问题,但问题可能更多地是关于处理
numpy
数组,而不是打印本身-matplotlib中的解决方案可能更可取

问题在于:我有两个形状为(1000)的nDarray,
xvals
yvals
,它们被解释为拟合的x和y坐标(它们应该围绕某个值居中)。与其他元素相比,某些元素(但不是很少!)具有非常大的绝对值(因子1000或更大)。我无法将轴设置为某个固定值的原因是
mean(xvals)
mean(yvals)
,它们的标准偏差在绘图之间变化很大

我想用类似于
plt.plot(xvals,yvals,“.”)的东西来绘制点的二维图,对我来说,自动设置轴非常重要,这样可以清楚地看到点的主要分布。必须自动完成的原因是,我正在进行约100个绘图,必须能够重复命名和更改绘图中的内容

我已经尝试过使用
plt.axis([平均值(xvals)-k*std(xvals),平均值(xvals)+k*std(xvals),平均值(yvals)-k*std(yvals),平均值(yvals)+k*std(yvals)]
,尝试不同的
k
值,但在我的所有图中似乎都不起作用

这里有两张图片,显示(1)我得到了什么(根本不使用
axis()
),以及(2)我大致希望输出什么:


我希望我已经提供了足够的信息,请告诉我其他信息,我将尽力提供!

也许您可以使用以下内容:

x = sorted(xvals)
y = sorted(yvals)
plt.axis([x[.1*len(x)], x[.9*len(x)], y[.1*len(y)], y[.9*len(y)]])
忽略两侧10%的点