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-29 17:38:10 浏览: 24
这是一个用于可视化数据分布的函数,输入参数为数据集 df 和标签 label。该函数会先创建一个 16x6 的画布,然后创建两个子图,分别用于显示各类异常点的分布情况和清洗后的结果。在第一个子图中,函数会根据不同标签的数据点在 WindSpeed-Power 平面上进行散点图的绘制,其中每个标签的数据点使用不同的颜色进行区分。最后,将各个标签的说明加入图例,并在图像上方添加标题。在第二个子图中,函数将仅显示标签为0的数据点,用于展示数据清洗后的结果。最后,将两个子图展示出来。
相关问题
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()的每句详细注解
这段代码是一个函数 `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()
```
显示图像。
fig = plt.figure(figsize=fig_size)中figure表示什么意思
figure是Matplotlib库中的一个对象,用于创建一个新的图形窗口。fig_size则是用于指定图形的尺寸,通常为一个元组,元组中的两个参数分别表示图形的宽度和高度,单位为英寸。因此,fig = plt.figure(figsize=fig_size)的作用是创建一个指定尺寸的新图形窗口,并将其赋值给变量fig。