def vis_result_2D(df,label): fig = plt.figure(figsize=(16,6)) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False ax = fig.add_subplot(121) for i in df['label'].unique(): temp_df = df[df['label']==i] ax.scatter(temp_df['WindSpeed'],temp_df['Power'],s=0.3,color=mcolors.TABLEAU_COLORS[colors[i]],label=i) plt.legend() plt.title("各类异常的分布") plt.grid(True) ax = fig.add_subplot(122) df = df[df['label']==0] ax.scatter(df['WindSpeed'],df['Power'],s=0.3) plt.title("清洗后的结果") plt.grid(True) plt.show()的每句详细注解
时间: 2024-03-27 15:34:50 浏览: 120
matplotilb中fig,ax = plt.subplots()的使用
这段代码是一个函数 `vis_result_2D`,用于绘制二维散点图展示数据集中不同类别的分布情况。下面是每句话的详细注解:
```python
fig = plt.figure(figsize=(16,6))
```
创建一个大小为 (16,6) 的新图像。
```python
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
```
设置字体为中文,避免乱码。
```python
ax = fig.add_subplot(121)
```
创建一个子图,将其分成 1 行 2 列,当前使用第 1 个子图。
```python
for i in df['label'].unique():
temp_df = df[df['label']==i]
ax.scatter(temp_df['WindSpeed'],temp_df['Power'],s=0.3,color=mcolors.TABLEAU_COLORS[colors[i]],label=i)
```
遍历数据集中所有不同的类别,用不同的颜色绘制每个类别中的数据点,其中 `temp_df` 是指当前类别的数据子集,`s` 是指数据点的大小,`color` 是指数据点的颜色。
```python
plt.legend()
plt.title("各类异常的分布")
plt.grid(True)
```
添加图例、设置标题和网格线。
```python
ax = fig.add_subplot(122)
```
创建一个子图,将其分成 1 行 2 列,当前使用第 2 个子图。
```python
df = df[df['label']==0]
```
选择标签为 0 的数据子集进行绘制。
```python
ax.scatter(df['WindSpeed'],df['Power'],s=0.3)
plt.title("清洗后的结果")
plt.grid(True)
```
用相同的方式绘制清洗后的数据子集,并添加标题和网格线。
```python
plt.show()
```
显示图像。
阅读全文