重复地块中的标记

编程入门 行业动态 更新时间:2024-10-27 09:42:14
本文介绍了重复地块中的标记的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图用颜色和正确的标签来表示预测,以作为虹膜数据集的标记.这是我到目前为止的内容:

I'm trying to denote the predictions with a color and the correct labels as markers for the iris data set. Here is what I have so far:

from sklearn.mixture import GMM import pandas as pd from sklearn import datasets import matplotlib.pyplot as plt import itertools iris = datasets.load_iris() x = iris.data y = iris.target gmm = GMM(n_components=3).fit(x) labels = gmm.predict(x) fig, axes = plt.subplots(4, 4) Superman = iris.feature_names markers = ["o" , "s" , "D"] Mi=[] for i in range(150): Mi.append(markers[y[i]]) for i in range(4): for j in range(4): if(i != j): axes[i, j].scatter(x[:, i], x[:, j], c=labels, marker = Mi, s=40, cmap='viridis') else: axes[i,j].text(0.15, 0.3, Superman[i], fontsize = 8)

我不确定为什么Colors会迭代,而Markers却不这样做,但是有没有办法为每个Marks分配一个特定的值,例如color?当我仅输入y的数值时,它也会失败.

I'm not sure why Colors iterate and markers do not, but is there a way to assign each marker a certain value like color? It also fails when I just enter the numeric values from y.

它返回的代码是:

无法识别的标记样式['o','o','o','o','o','o','o','o','o','o','o' ,"o","o","o","o","o","o","o","o","o","o","o","o","o','o','o','o','o','o','o','o','o','o','o','o','o' ,"o","o","o","o","o","o","o","o","o","o","o","o","o','o','s','s','s','s','s','s','s','s','s','s','s' ,"s","s","s","s","s","s","s","s","s","s","s","s","s','s','s','s','s','s','s','s','s','s','s','s','s' ,"s","s","s","s","s","s","s","s","s","s","s","s","s','s','D','D','D','D','D','D','D','D','D','D','D' ,"D","D","D","D","D","D","D","D","D","D","D","D","D','D','D','D','D','D','D','D','D','D','D','D','D' ,"D","D","D","D","D","D","D","D","D","D","D","D","D','D']

Unrecognized marker style ['o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 's', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'D']

推荐答案

matplotlib不支持在单个散点图中使用多个标记.但是,在 github/matplotlib/matplotlib/issues/上有对此功能的要求11155

Using several markers in a single scatter is currently not a feature matplotlib supports. There is however a feature request for this at github/matplotlib/matplotlib/issues/11155

当然可以绘制多个散点图,每种标记类型一个. 我在上面的线程中建议的选项是一个不同的选项,该选项是在创建散点后设置标记:

It is of course possible to draw several scatters, one for each marker type. A different option is the one I proposed in the above thread, which is to set the markers after creating the scatter:

import numpy as np import matplotlib.pyplot as plt def mscatter(x,y,ax=None, m=None, **kw): import matplotlib.markers as mmarkers if not ax: ax=plt.gca() sc = ax.scatter(x,y,**kw) if (m is not None) and (len(m)==len(x)): paths = [] for marker in m: if isinstance(marker, mmarkers.MarkerStyle): marker_obj = marker else: marker_obj = mmarkers.MarkerStyle(marker) path = marker_obj.get_path().transformed( marker_obj.get_transform()) paths.append(path) sc.set_paths(paths) return sc N = 40 x, y, c = np.random.rand(3, N) s = np.random.randint(10, 220, size=N) m = np.repeat(["o", "s", "D", "*"], N/4) fig, ax = plt.subplots() scatter = mscatter(x, y, c=c, s=s, m=m, ax=ax) plt.show()

如果只有数字,而不是标记符号,则首先需要将数字映射到符号,并将符号列表提供给函数.

If you only have numbers, instead of marker symbols you would first need to map numbers to symbols and supply the list of symbols to the function.

更多推荐

重复地块中的标记

本文发布于:2023-07-19 17:02:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1158557.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:地块   标记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!