繁体   English   中英

Matplotlib plot function output 线不同

[英]Matplotlib plot function output differs from seaborn's lineplot

我想 plot 给定数据,它遵循正态分布。 主要是我关注了这个链接。

Now, if I am working on the data created like on that website ( x=np.linspace() ) and I plot it with either seaborn.lineplot() or matplotlib.pyplot.plot() , I get a normal curve as shown在上面链接的网站上。 但是当我用自己的数据(我认为这是正常的,但有更多的数据点)而不是用np.linspace初始化它时,我得到了一条带有 seaborn 线图的清晰正态曲线一条带有 matplotlib 的 plot function 的凌乱正态曲线.

我试图在这两个函数上寻找默认的 arguments 但找不到任何会导致这种行为的(估计器除外)。 Seaborn 的 lineplot 的 estimator 参数是唯一看起来可以执行此类操作的参数,但将其设置为 None 并没有任何区别(我认为这有点道理,因为 y 值对于特定的 x 总是相同的,所以平均将产生相同的值)。

我以前以为两个功能是一样的,但是为什么他们有不同的output呢?

Seaborn lineplot function 具有默认参数sort=True

因此,除非您告诉它不要这样做,否则它会为您订购数据。 这不是pyplot.plot()所做的事情,而是会按照提供的顺序在点之间画线。

如果您想在使用 Pyplot 绘制数据之前对数据进行排序,那么有一个很好的解决方案可以做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM