python绘图时如何让点在线上

python绘图时如何让点在线上

本文纯属自娱自乐

在使用python进行描点绘图时,出现了点被线盖住的问题,如下图所示:

import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [1, 2, 3]

plt.plot(x, y, 'C3', lw=3)
plt.scatter(x, y, marker='o', s=120)

python绘图时如何让点在线上_第1张图片
可见红色的线在蓝色的圆上,看中间的圆点,被一条线拦腰截断,十分不好看。
是不是把圆换成三角会好一点呢?

import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [1, 2, 3]

plt.plot(x, y, 'C3', lw=3)
plt.scatter(x, y, marker='^', s=120)

python绘图时如何让点在线上_第2张图片
并没有什么用。

后来发现,用matplotlib绘图时,有一个Zorder参数可以设置:
通过改变zorder参数,可以让点的优先级高于线。

import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [1, 2, 3]

plt.plot(x, y, 'C3', lw=3, zorder=1)
plt.scatter(x, y, marker='o', s=120, zorder=2)

结果就是:
python绘图时如何让点在线上_第3张图片
问题解决。

你可能感兴趣的:(python)