对鸢尾花数据集进行可视化泡泡图
时间: 2024-09-20 14:09:56 浏览: 53
鸢尾花数据集是一个经典的机器学习数据集,它包含了三种不同类型的鸢尾花(Setosa、Versicolour和Virginica)的测量值,如花瓣长度、花瓣宽度等。为了创建一个可视化泡泡图(Bubble Chart),我们可以将每种鸢尾花的数据点表示为一个泡泡,泡泡的大小通常代表某一特征值(如萼片长度),颜色则区分不同的类别。
步骤如下:
1. 导入数据:首先,你需要使用Python的库(如pandas或NumPy)加载鸢尾花数据集,例如通过`sklearn.datasets.load_iris()`函数。
```python
from sklearn import datasets
import pandas as pd
iris = datasets.load_iris()
df_iris = pd.DataFrame(data=iris.data, columns=iris.feature_names)
```
2. 准备数据:将数据转换成适合泡泡图的格式,通常需要三个列:x坐标、y坐标和泡泡大小(可以是另一个特征值)。
```python
x = df_iris['petal length (cm)']
y = df_iris['sepal width (cm)']
size = df_iris['petal width (cm)'] # 或者其他特征值
species = iris.target # 标签,用于赋予颜色
```
3. 创建泡泡图:使用matplotlib或seaborn这样的可视化库,创建泡泡图并添加分类标签。
```python
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(style="whitegrid")
fig, ax = plt.subplots(figsize=(6, 6))
ax.scatter(x, y, s=size**2, c=species, cmap='viridis')
cbar = plt.colorbar(ticks=[0, 1, 2])
cbar.ax.set_yticklabels(['Setosa', 'Versicolour', 'Virginica'])
plt.title('Iris Dataset Bubble Plot')
plt.xlabel('Petal Length (cm)')
plt.ylabel('Sepal Width (cm)')
plt.show()
```
阅读全文