更新散点图的标记形状

Update marker shape of a scatter plot

散点图对象有一个名为 .set_color 的方法来更新标记的颜色和 .set_offsets 来更新它们的位置但是我如何更新标记的形状?

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

对于built-in markers, these paths can be obtained from the MarkerStyle class. For custom markers see my

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

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()

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