从Matplotlib集合中检索标记

2024-09-30 18:15:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Matplotlib集合中检索标记类型。在

我可以通过调用collection.get_线型(), collection.get_线宽(),等等,但似乎没有标记的选项。 我还可以从matplotline.line.line2d一

有没有办法从集合中检索标记类型?在


Tags: 标记类型getmatplotlib选项linecollection办法
1条回答
网友
1楼 · 发布于 2024-09-30 18:15:04

我认为您无法检索到PathCollection(即散点图)中使用的标记类型。此信息不会像这样存储在集合中。但是,标记存储为Path对象(因此是集合的名称)。在

例如:

fig, ax = plt.subplots()
a = ax.scatter([0],[0],marker='v')
b = ax.scatter([1],[0],marker='s')

a.get_paths()

(Path(array([[-6.123234e-17, -5.000000e-01], [ 5.000000e-01, 5.000000e-01], [-5.000000e-01, 5.000000e-01], [-6.123234e-17, -5.000000e-01]]), array([ 1, 2, 2, 79], dtype=uint8)),)

可以推测,三角形标记由4个点定义(请注意,最后一个点等于第一个点,因此形状是闭合的)。在

^{pr2}$

(Path(array([[-0.5, -0.5], [ 0.5, -0.5], [ 0.5, 0.5], [-0.5, 0.5], [-0.5, -0.5]]), array([ 1, 2, 2, 2, 79], dtype=uint8)),)

相反,正方形标记由5个点定义(最后一个点==第一个点)。在

如果目标是将此标记复制到新集合,则应该能够将路径对象复制到另一个集合上。如果您需要某种方式来检测使用了哪个标记,可以保留一个Paths对象列表(如上所示生成),并将返回的路径与该列表进行比较。在

相关问题 更多 >