旋转现有的matplotlib标记?


问题内容

我知道这个答案,可以控制matplotlib标记方向吗?,以及标记文档,但是可以采用现有的matplotlib标记符号(非规则多边形)并将其旋转吗?

具体来说,我想将细菱形符号(“ d”)旋转90度,以使其长轴水平。


问题答案:

标记"d"是钻石的偏斜版本"D"。您可以创建这样的菱形标记并将其向另一个方向倾斜。

对于任意角度,您可以旋转标记。

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

fig, ax = plt.subplots()

plt.scatter([1,2,3],[1,2,3], s=225, marker="d")

m = MarkerStyle("D")
m._transform.scale(1.0, 0.6)

plt.scatter([1,2,3],[2,3,4], s=225, marker=m, color="crimson")

m = MarkerStyle("d")
m._transform.rotate_deg(60)

plt.scatter([1,2,3],[3,4,5], s=225, marker=m, color="limegreen")

plt.margins(0.5)
plt.show()

在此处输入图片说明