更新散点图的标记形状

Men*_*son 1 animation matplotlib scatter-plot marker

散点图对象有一个名为 .set_color 的方法来更新标记的颜色,并使用 .set_offsets 来更新其位置,但如何更新标记形状?

Ste*_*tef 7

散点图返回路径集合,它包含标记的路径。为了更改标记形状,您需要将路径设置为新标记路径。

对于内置标记,这些路径可以从类中获取MarkerStyle。对于自定义标记,请参阅我的SO 答案

示例- 带有标记的散点图后来更改为加号标记:

from matplotlib import pyplot as plt
from matplotlib.markers import MarkerStyle

sp = plt.scatter([1,2],[1,2], marker='.')

new_marker = MarkerStyle("+")
sp.set_paths((new_marker.get_path(),))
sp.set_sizes([8])

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

唯一需要注意的是,您还需要设置标记大小,默认情况下,新标记绘制得相当大。

  • 最简单的方法是先绘制前五个点,然后绘制其余点: `plt.scatter(x[:5], y[:5],marker='+')` `plt.scatter(x[5:], y [5:], 标记='D')` `plt.show()` (2认同)