python数据可视化箱线图数据集
时间: 2025-01-02 07:35:06 浏览: 9
### Python 数据可视化之箱线图
#### 使用 Matplotlib 绘制简单箱线图
Matplotlib 是一个非常流行的 Python 可视化库,适合创建静态图形。下面是一个简单的箱线图绘制实例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建随机数作为样本数据
np.random.seed(0)
data = [np.random.normal(loc=mu, scale=1, size=100) for mu in range(-2, 3)]
plt.figure(figsize=(8, 6))
plt.boxplot(data)
# 添加标题和标签
plt.title('Simple Box Plot Example')
plt.xlabel('Groups')
plt.ylabel('Values')
# 显示图像
plt.show()
```
此代码片段展示了如何使用 `boxplot` 函数来快速生成一组正态分布数据的箱形图[^1]。
#### 利用 Seaborn 进行高级定制
Seaborn 建立在 Matplotlib 的基础上,提供了更加美观且易于使用的接口。这里有一个基于真实世界数据集的例子:
```python
import seaborn as sns
import pandas as pd
# 加载内置的小费数据集
tips = sns.load_dataset("tips")
sns.set_theme(style="whitegrid") # 设置主题样式
ax = sns.boxplot(x="day", y="total_bill", data=tips)
# 自定义图表外观
ax.set_title('Total Bill by Day of Week', pad=20)
ax.set_xlabel('Day')
ax.set_ylabel('Total Bill ($)')
plt.show()
```
这段代码不仅实现了按星期几分类的日营业额箱线图,还通过设置不同的参数调整了图表的整体风格[^2]。
#### 实战案例:二手房价格分析
针对特定应用场景如房地产市场研究,可以通过如下方式构建更为复杂的分组箱线图。考虑到不同地区房源数量差异较大,在实际操作中可能需要先整理好数据再进行绘图[^3]:
```python
from collections import defaultdict
import matplotlib.pyplot as plt
def preprocess_data(df):
"""预处理原始 DataFrame"""
grouped_prices = defaultdict(list)
df_sorted = df.sort_values(by='average_price', ascending=False).groupby('district')['price']
for district, prices in df_sorted:
grouped_prices[district].extend(prices.tolist())
return list(grouped_prices.values()), list(grouped_prices.keys())
df = ... # 假设这是已经加载好的包含 'district' 和 'price' 字段的数据框
prices_by_district, districts = preprocess_data(df)
fig, ax = plt.subplots(figsize=(10,7))
bp = ax.boxplot(prices_by_district, patch_artist=True)
for box in bp['boxes']:
# 更改箱子颜色
box.set(facecolor ='lightblue')
ax.set_xticklabels(districts, rotation=45)
ax.set_title('Second-hand House Prices Distribution Across Districts')
ax.set_xlabel('District')
ax.set_ylabel('Price (RMB/sq.m)')
plt.tight_layout()
plt.show()
```
上述代码首先对各个区县内的房价进行了排序并重新组织成适用于 `boxplot()` 方法输入的形式;接着设置了更丰富的视觉效果,比如旋转 X 轴上的文字标签以便阅读、改变箱体填充色等特性。
阅读全文