import matplotlib.pyplot as plt import pandas as pd import seaborn as sns # 读取xlsx文件中的数据 df = pd.read_excel('北京市空气数据.xlsx') # 指定需要可视化的列 cols = ['PM2.5', 'PM10', 'NO2', 'SO2', 'CO', 'O3'] # 循环遍历每一列,生成分簇散点图 for col in cols: fig, ax = plt.subplots(figsize=(8, 6)) # 小提琴图和分簇散点图 sns.violinplot(y=col, data=df, color='white', ax=ax) sns.swarmplot(y=col, data=df, color='red', size=4, ax=ax) # 设定图表标题和y轴标签 ax.set_title(col, fontsize=14) ax.set_ylabel(col, fontsize=12) # 显示图表 plt.show()优化这段代码
时间: 2023-12-10 08:02:21 浏览: 151
数据处理Pandas-读取Excel、文本、CSV等不同类型数据-Python实例源码.zip
这段代码已经很简洁了,但可以进行一些优化:
1. 将重复的代码封装成函数,减少代码重复,提高代码复用性。
2. 添加注释,提高代码可读性。
3. 优化图表的外观,提高可视化效果。
下面是优化后的代码:
```
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
def plot_violin_swarmplot(data, col):
"""
生成一个分簇散点图和小提琴图。
参数:
data -- 数据
col -- 列名
"""
fig, ax = plt.subplots(figsize=(8, 6))
sns.violinplot(y=col, data=data, color='white', ax=ax)
sns.swarmplot(y=col, data=data, color='red', size=4, ax=ax)
ax.set_title(col, fontsize=14)
ax.set_ylabel(col, fontsize=12)
plt.show()
# 读取xlsx文件中的数据
df = pd.read_excel('北京市空气数据.xlsx')
# 指定需要可视化的列
cols = ['PM2.5', 'PM10', 'NO2', 'SO2', 'CO', 'O3']
# 循环遍历每一列,生成分簇散点图和小提琴图
for col in cols:
plot_violin_swarmplot(df, col)
```
优化后的代码更加简洁、易读,同时提高了代码的复用性和可维护性。
阅读全文