在数据分析和机器学习中,数据可视化是一项至关重要的技能,可以帮助我们更好地理解数据和挖掘潜在的规律。在 Python 中,Matplotlib 和 Seaborn 是两个常用的数据可视化库。本文将为您介绍它们的基本原理和实际应用,帮助您更好地利用这两个库进行数据可视化。
- Matplotlib 简介
Matplotlib 是一个强大的 Python 二维绘图库,提供了丰富的绘图功能,可以实现各种图表的绘制。Matplotlib 的基本绘图单位是 Figure(画布)和 Axes(坐标轴)。
- Seaborn 简介
Seaborn 是一个基于 Matplotlib 的高级数据可视化库,提供了更多的绘图类型和更美观的默认样式。Seaborn 可以与 Pandas 数据结构无缝结合,方便地进行数据可视化。
以下是一些常用的 Matplotlib 和 Seaborn 可视化技巧及其实际应用:
一、基本绘图
1.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.show()
1.2 散点图
使用 Seaborn 绘制散点图:
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
sns.scatterplot(data=data, x='x', y='y')
plt.show()
二、自定义图形样式
2.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, color='red', linestyle='--', linewidth=2)
plt.title('Sin Wave')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()
2.2 Seaborn 自定义样式
import seaborn as sns
import pandas as pd
data = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
sns.set_style('whitegrid') # 设置背景样式
sns.scatterplot(data=data, x='x', y='y', hue='y', palette='coolwarm', size='y', sizes=(50, 200))
plt.show()
三、绘制复杂图形
3.1 Matplotlib 多子图
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, axes = plt.subplots(1, 2)
axes[0].plot(x, y1)
axes[1].plot(x, y2)
plt.show()
3.2 Seaborn 绘制热力图
import seaborn as sns
import numpy as np
import pandas as pd
data = np.random.rand(10, 12)
heatmap_data = pd.DataFrame(data)
sns.heatmap(heatmap_data, cmap='coolwarm', annot=True)
plt.show()
四、保存图像
4.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.savefig('sin_wave.png', dpi=300)
4.2 Seaborn 保存图像
import seaborn as sns
import pandas as pd
data = pd.DataFrame({'x': [1, 2, 3], 'y': [4, 5, 6]})
scatter_plot = sns.scatterplot(data=data, x='x', y='y')
figure = scatter_plot.get_figure()
figure.savefig('scatter_plot.png', dpi=300)
以上就是关于 Matplotlib 和 Seaborn 数据可视化技巧的介绍。希望这些内容能帮助您更好地应用这两个库进行数据可视化。如果您对本文感兴趣,请关注我们并给予打赏,感谢您的支持!
参考文献:
- Hunter, J. D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering, 9(3), 90-95.
- Waskom, M. (2021). seaborn: statistical data visualization. Journal of Open Source Software, 6(60), 3021.
- McKinney, W. (2010). Data structures for statistical computing in python. In Proceedings of the 9th Python in Science Conference (pp. 51-56).