plt.scatter(x[j], y[j], marker='o', s=5, label='原始数据')怎么让不同颜色的标签仅显示一次
时间: 2024-01-20 14:04:19 浏览: 24
如果想要不同颜色的标签仅显示一次,可以将`label`设置为一个列表或数组,其中每个元素对应一个数据点的标签,然后在调用`plt.legend()`时,使用`set()`方法去除重复的标签。例如:
```
import numpy as np
import matplotlib.pyplot as plt
# 生成一些示例数据
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.choice(['red', 'green', 'blue'], size=100)
# 绘制散点图,并设置每个数据点的标签为对应的颜色
plt.scatter(x, y, c=colors, marker='o', s=5, label=colors)
# 显示图例,去除重复的标签
handles, labels = plt.gca().get_legend_handles_labels()
by_label = dict(zip(labels, handles))
plt.legend(by_label.values(), by_label.keys())
plt.show()
```
在上面的例子中,我们将每个数据点的标签设置为对应的颜色,然后在调用`plt.legend()`时,使用`get_legend_handles_labels()`方法获取所有标签和对应的处理句柄,然后再使用`dict`和`zip`将标签和处理句柄对应起来,最后使用`by_label.values()`和`by_label.keys()`分别获取处理句柄和标签,并去除重复的标签。这样就可以保证每种标签仅显示一次。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)