Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从Matplotlib集合检索标记_Python_Matplotlib_Markers - Fatal编程技术网

Python 从Matplotlib集合检索标记

Python 从Matplotlib集合检索标记,python,matplotlib,markers,Python,Matplotlib,Markers,我希望从Matplotlib集合中检索标记类型 我可以通过调用collection.get_linestyle()、collection.get_linewidth()等从集合中检索类似于其他所有属性的内容,但似乎没有标记的选项。 我还能够从matplotline.line.line2d检索标记类型 有没有办法从集合中检索标记类型?我认为您无法检索路径集合(即散点图)中使用的标记类型。此信息不会存储在集合中。但是,标记存储为Path对象(因此是集合的名称) 例如: fig, ax = plt.s

我希望从Matplotlib集合中检索标记类型

我可以通过调用collection.get_linestyle()、collection.get_linewidth()等从集合中检索类似于其他所有属性的内容,但似乎没有标记的选项。 我还能够从matplotline.line.line2d检索标记类型


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

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

例如:

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

a.get_paths()
(路径(数组([-6.123234e-17,-5.000000e-01], [5.000000e-01,5.000000e-01], [-5.000000e-01,5.000000e-01], [-6.123234e-17,-5.000000e-01]],数组([1,2,2,79],dtype=uint8)),)

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

(路径(数组([-0.5,-0.5], [ 0.5, -0.5], [ 0.5, 0.5], [-0.5, 0.5], [-0.5,-0.5]],数组([1,2,2,79],dtype=uint8)),)

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


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

您能提供一个解决方案吗?不清楚你在问什么。哇,谢谢你,迪齐特,这真的很有帮助!!我希望能够比较集合和行中的标记类型。对于输出为这样一条路径的行,是否有类似的方法?
b.get_paths()