set_type = set(type_cancer) color_type = sorted(list(set_type)) color_list = randomcolor.RandomColor(seed=0).generate(count=56) color_dict = dict(zip(color_type, color_list)) color_dict1 = dict(zip(color_list, color_type)) color = [color_dict[type_cancer[i]] for i in range(len(type_cancer))]plt.scatter(X_tsne[:, 0], X_tsne[:, 1], s=10, c=colors, label="t-SNE")画的是一个散点图(有一万多个,五十多种疾病),请用legend函数添加图例:将图上每个颜色对应的疾病显示出来
时间: 2024-02-11 21:06:42 浏览: 67
好的,您可以按照以下步骤添加图例:
1. 首先,在 `plt.scatter` 函数中添加 `label` 参数,将其设置为 `type_cancer[i]`:
```python
plt.scatter(X_tsne[:, 0], X_tsne[:, 1], s=10, c=color, label=type_cancer[i])
```
2. 然后,在绘制完所有散点之后,调用 `plt.legend()` 函数生成图例。此时,matplotlib 会自动将所有具有相同 `label` 的散点归为同一类,生成相应的图例。
```python
plt.legend()
```
这样,您就可以将图上每个颜色对应的疾病显示出来了。如果您想进一步自定义图例的样式,可以参考 matplotlib 官方文档中关于 `legend` 函数的介绍。
阅读全文