如何在 Matplotlib 中用线连接散点图点

  1. 在调用 scatter()和 plot()之后调用 show()
  2. 具有线型属性的 matplotlib.pyplot.plot() 函数
  3. 关键字 zorder 更改 Matplotlib 绘图顺序

我们可以在调用了 scatter()和 plot()之后,通过调用 show()来连接直线的散点,并使用 line 和 point 属性调用 plot(),然后使用关键字 zorder 来指定绘图顺序。

在调用 scatter()和 plot()之后调用 show()

matplotlib.pyplot.scatter(x, y),其中 x 是 x 坐标序列,而 y 是 y 坐标序列会创建点的散点图。要按顺序连接这些散点图的点,请调用 matplotlib.pyplot.plot(x, y),使 xy 与传递给 scatter() 函数的点相同。

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,50)
y=np.sin(2 * np.pi * x)

plt.scatter(x,y)
plt.plot(x,y)
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
figure.tight_layout()

输出:

连接的散点图点与 line_1.png

具有线型属性的 matplotlib.pyplot.plot() 函数

我们也可以通过仅调用 matplotlib.pyplot.plot() 函数以及 linestyle 属性来将 scatterplot 点与直线连接起来。

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,50)
y=np.sin(2 * np.pi * x)

plt.plot(x,y,linestyle='solid',color='blue')
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
figure.tight_layout()

输出:

使用线型和颜色参数将散点图点与线连接起来

同样,我们也可以尝试其他不同的 linestyles

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,50)
y=np.sin(2 * np.pi * x)

plt.plot(x, y, 'xb-')
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()

输出:

使用线型和颜色参数将散点图点与线连接起来

关键字 zorder 更改 Matplotlib 绘图顺序

我们可以使用关键字 zorder 来设置 Matplotlib 图中的绘制顺序。我们将为 plotscatter 分配不同的顺序,然后颠倒顺序以显示不同的绘制顺序行为。

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,50)
y=np.sin(2 * np.pi * x)

plt.scatter(x,y,color='r',zorder=1)
plt.plot(x,y,color='b',zorder=2)

plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")

plt.show()

输出:

使用 zorder 将 Scatterplot 点与线连接起来

plot()的顺序为 2,大于 scatter()的顺序,因此,散点图位于线图的顶部。

如果我们颠倒顺序,则线图将位于散点图的顶部。

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,50)
y=np.sin(2 * np.pi * x)

plt.scatter(x,y,color='r',zorder=2)
plt.plot(x,y,color='b',zorder=1)

plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")

plt.show()

输出:

使用 zorder 1 将散点图点与线连接起来

相关文章 - Matplotlib Scatter

  • Matplotlib 中如何绘制 x,y 坐标列表
  • comments powered by Disqus