Matplotlib和Seaborn是Python中常用的可视化库,分别用于创建各种图表和进行统计数据可视化。以下是这两个库的主要应用示例:
1. Matplotlib基本用法
导入库
import matplotlib.pyplot as plt
import numpy as np
创建简单图表
# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 绘制折线图
plt.plot(x, y)
plt.title('Sine Wave')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.grid()
plt.show()
创建散点图
# 生成随机数据
x = np.random.rand(50)
y = np.random.rand(50)
# 绘制散点图
plt.scatter(x, y, color='blue', alpha=0.5)
plt.title('Scatter Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
创建直方图
data = np.random.randn(1000)
plt.hist(data, bins=30, color='green', alpha=0.7)
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()
2. Seaborn基本用法
导入库
import seaborn as sns
创建带有样式的图表
# 使用内置数据集
tips = sns.load_dataset('tips')
# 绘制分类散点图
sns.scatterplot(x='total_bill', y='tip', data=tips, hue='day')
plt.title('Tips vs Total Bill')
plt.show()
创建箱型图
sns.boxplot(x='day', y='total_bill', data=tips)
plt.title('Box Plot of Total Bill by Day')
plt.show()
创建热图
# 计算相关性矩阵
correlation = tips.corr()
# 绘制热图
sns.heatmap(correlation, annot=True, cmap='coolwarm')
plt.title('Correlation Heatmap')
plt.show()
3. Matplotlib与Seaborn结合使用
Seaborn基于Matplotlib,可以将Seaborn图形与Matplotlib的功能结合使用。
# 设置Seaborn样式
sns.set(style='whitegrid')
# 创建线性回归图
sns.regplot(x='total_bill', y='tip', data=tips)
plt.title('Regression Plot')
plt.show()
4. 自定义图表
可以通过设置参数来自定义图表的外观,如颜色、标记、标签等。
sns.set_palette('pastel')
sns.scatterplot(x='total_bill', y='tip', data=tips, hue='sex', style='time')
plt.title('Tips by Gender and Time')
plt.show()
5. 保存图表
可以将生成的图表保存为文件。
plt.savefig('plot.png', dpi=300, bbox_inches='tight')
Matplotlib和Seaborn提供了丰富的可视化功能,适合于各种数据分析和展示场景。