加载本机的鸢尾花数据集(以 DataFrame 或 Series 的形式返回 Bunch 对象),熟悉该对象中的各类数据。 用 Bunch 对象中的特征数据集生成 “萼片面积” 和 “花瓣面积”(简化计算:面积 = 长×宽)两列的 DataFrame,并输出该 DataFrame (考虑亚洲文字的宽度,能产生漂亮的对齐效果)。 用新生成的面积 DataFrame 、 Bunch 对象中的目标数据集和花的种类名称,绘制鸢尾花分类散点图,要求如下: 使用 matplotlib 模块作图。 画布尺寸、散点形状、大小颜色等使用缺省值。 按紧凑型布局;其余要求参照结果示例图。 将分类图保存为图像文件:“鸢尾花分类图.png”
时间: 2023-07-15 14:14:08 浏览: 109
鸢尾花数据集可视化.zip
5星 · 资源好评率100%
以下是代码实现:
```python
from sklearn.datasets import load_iris
import pandas as pd
import matplotlib.pyplot as plt
# 加载鸢尾花数据集
data = load_iris()
# 将鸢尾花数据集转换为DataFrame形式
df = pd.DataFrame(data.data, columns=data.feature_names)
df['target'] = data.target
df['label'] = df.target.apply(lambda x: data.target_names[x])
# 计算花萼面积和花瓣面积
df['花萼面积'] = df['sepal length (cm)'] * df['sepal width (cm)']
df['花瓣面积'] = df['petal length (cm)'] * df['petal width (cm)']
# 选择需要绘制散点图的数据
scatter_data = df[['花萼面积', '花瓣面积', 'label']]
# 绘制散点图
fig, ax = plt.subplots(figsize=(8, 6))
for key, group in scatter_data.groupby('label'):
group.plot(ax=ax, kind='scatter', x='花萼面积', y='花瓣面积', label=key)
plt.title('鸢尾花分类散点图')
plt.savefig('鸢尾花分类图.png')
plt.show()
```
运行以上代码后,会生成一张名为“鸢尾花分类图.png”的图像文件,并在程序结束时展示出鸢尾花分类散点图。
阅读全文