Matplotlib 绘图函数输出与 seaborn 的线图不同
Matplotlib plot function output differs from seaborn's lineplot
我想绘制一个给定服从正态分布的数据的 PDF 函数。主要是我跟着thislink.
现在,如果我正在处理像在该网站 (x=np.linspace()
) 上创建的数据,并用 seaborn.lineplot()
或 matplotlib.pyplot.plot()
绘制它,我会得到一条正态曲线显示在上面 linked 的网站上。但是当我用 my own data (which I believe is normal, but with a lot more data points) instead of initializing it with np.linspace
I get a clear normal curve with seaborn's lineplot and a messy normal curve with matplotlib's plot function.
这样做时
我试图在这两个函数上寻找默认参数,但找不到任何会导致此行为的参数(估计器除外)。 Seaborn 的线图的估计参数是唯一看起来可以做这样的事情的参数,但是将它设置为 None 没有任何区别(我认为这有点道理,因为 y 值总是相同的一个特定的 x 所以平均将产生相同的值)。
我之前一直以为两个函数是一样的,但是为什么输出不一样呢?
Seaborn lineplot
函数具有 default parameter sort=True
。
因此,除非您告诉它不要这样做,否则它会为您订购数据。这不是 pyplot.plot()
所做的事情,而是它会按照提供的顺序在点之间画线。
如果您想在使用 Pyplot 绘制数据之前对数据进行排序, 介绍了如何执行此操作。
我想绘制一个给定服从正态分布的数据的 PDF 函数。主要是我跟着thislink.
现在,如果我正在处理像在该网站 (x=np.linspace()
) 上创建的数据,并用 seaborn.lineplot()
或 matplotlib.pyplot.plot()
绘制它,我会得到一条正态曲线显示在上面 linked 的网站上。但是当我用 my own data (which I believe is normal, but with a lot more data points) instead of initializing it with np.linspace
I get a clear normal curve with seaborn's lineplot and a messy normal curve with matplotlib's plot function.
我试图在这两个函数上寻找默认参数,但找不到任何会导致此行为的参数(估计器除外)。 Seaborn 的线图的估计参数是唯一看起来可以做这样的事情的参数,但是将它设置为 None 没有任何区别(我认为这有点道理,因为 y 值总是相同的一个特定的 x 所以平均将产生相同的值)。
我之前一直以为两个函数是一样的,但是为什么输出不一样呢?
Seaborn lineplot
函数具有 default parameter sort=True
。
因此,除非您告诉它不要这样做,否则它会为您订购数据。这不是 pyplot.plot()
所做的事情,而是它会按照提供的顺序在点之间画线。
如果您想在使用 Pyplot 绘制数据之前对数据进行排序,