【发布时间】:2020-09-29 18:39:56
【问题描述】:
我有两对 x 和 y 值,一对绘制为线图(蓝色),另一对绘制为散点图(红色)。这些点重叠,并且蓝色实线绘制在红点的顶部,导致只有红点的非重叠部分可见。我希望这是另一种方式:我希望红点都在蓝线的 顶部,这样红点就完全可见,蓝线在这些点处被遮挡的重叠。有关如何执行此操作的任何建议?
import numpy as np
import matplotlib.pyplot as plt
x1 = np.linspace(0,10,20)
x2 = np.linspace(0,10,500)
y1 = np.sin(x1)
y2 = np.sin(x2)
plt.plot(x2,y2, color = 'b')
plt.scatter(x1,y1,marker = 'o', s = 6, color = 'r')
【问题讨论】:
-
尝试设置 z 顺序:
plt.scatter(..., zorder=3)。线条默认具有 z 顺序 2。z 顺序定义了绘制元素的“层”。首先绘制具有最低 z 顺序的元素,然后绘制其余元素,一个在另一个之上。 -
只需在 plt.plot 中设置
marker='*'
标签: python matplotlib plot scatter-plot