一、实验要求
- 直接使用 seaborn 加载数据,绘制条形图
- 使用 seaborn 绘制横向柱状图
- 使用 seaborn 绘制散点图,反应品种与花萼长度之间的关系
- (选作)绘制点线图,反应特征与品种之间的关系,图片标题和横纵坐标均为中文宋体,点线颜色均为红色。
![](https://i-blog.csdnimg.cn/blog_migrate/e2e7cd0f121cceb9499a4ab050b945dd.png)
二、实验代码:
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
import sklearn.datasets
from matplotlib import rcParams
rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体
rcParams['axes.unicode_minus'] = False # 用来正常显示负号
from sklearn.datasets import load_iris
#加载数据
iris = load_iris()
x = iris.data # 特征向量
y = iris.target #类别标签
#数据统计
#iris['target'].value_counts()
#数据转化
df = pd.DataFrame(x, columns=iris.feature_names)
df['target'] = y
print(df)
#seaborn绘制柱状图
sns.barplot(x = 'target', y = 'sepal length (cm)', data=df, palette="Set2")
plt.title("鸢尾花绘图-条形图")
plt.show()
#seaborn绘制统计图
sns.countplot(x='petal width (cm)', hue = 'target', data = df)
plt.title('鸢尾花计数图')
plt.xticks(rotation = 45)
plt.show()
# 使用seaborn绘制散点图
sns.scatterplot(data=df, x="target", y="sepal length (cm)")
plt.title('品种与花萼长度关系', fontdict={'family': 'SimSun', 'weight': 'normal', 'size': 16})
plt.xlabel('品种', fontdict={'family': 'SimSun', 'weight': 'normal', 'size': 12})
plt.ylabel('花萼长度', fontdict={'family': 'SimSun', 'weight': 'normal', 'size': 12})
plt.show()
# 绘制点线图
# 4.(选作)绘制点线图,反应特征与品种之间的关系
plt.figure(figsize=(10, 8))
# 获取当前的轴对象
ax = plt.gca()
for i, feature in enumerate(iris.feature_names):
sns.lineplot(x='target', y=feature, data=df, ci=None, marker='o', ax=ax, label=feature, color = 'red')
# 设置标题和轴标签
plt.title('特征与品种关系的点线图', fontproperties='SimSun')
plt.xlabel('品种', fontproperties='SimSun')
plt.ylabel('特征值', fontproperties='SimSun')
# 设置图例位置
plt.legend(loc='best', prop={'family': 'SimSun', 'size': 8})
# 显示图形
plt.show()
三、实验结果
![](https://i-blog.csdnimg.cn/blog_migrate/25face7b5d5ba0ce4ac79bdc502dcee2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1b9f6a1e8e0a65cb2a7c8997e026e831.png)
![](https://i-blog.csdnimg.cn/blog_migrate/659998260585149a89d983715511612d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dd90643e86d3e1cf4c84bfa342462d9c.png)