引言
Matplotlib 是 Python 中最常用的数据可视化库之一,它提供了丰富的绘图功能,可以帮助我们轻松地将数据转换为各种图表。在本篇文章中,我们将通过一系列案例解析,全面了解 Matplotlib 的功能,并掌握如何使用它来展示数据之美。
一、Matplotlib 基础
1.1 安装与导入
pip install matplotlib
import matplotlib.pyplot as plt
1.2 基本图表类型
1.2.1 折线图
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title('折线图示例')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')
plt.show()
1.2.2 散点图
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y, color='red', marker='o')
plt.title('散点图示例')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')
plt.show()
1.2.3 柱状图
categories = ['A', 'B', 'C', 'D']
values = [20, 35, 30, 25]
plt.bar(categories, values, color='blue', width=0.5)
plt.xlabel('类别')
plt.ylabel('数值')
plt.title('柱状图示例')
plt.show()
1.2.4 饼图
labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('饼图示例')
plt.show()
二、Matplotlib 高级功能
2.1 子图
fig, axs = plt.subplots(2, 2, figsize=(10, 8))
axs[0, 0].plot(x, np.sin(x), color='blue')
axs[0, 0].set_title('Sine Wave')
axs[0, 1].plot(x, np.cos(x), color='orange')
axs[0, 1].set_title('Cosine Wave')
axs[1, 0].scatter(x, np.random.rand(100), color='green')
axs[1, 0].set_title('Random Scatter')
axs[1, 1].bar(categories, values, color='blue', width=0.5)
axs[1, 1].set_title('Bar Chart')
plt.tight_layout()
plt.show()
2.2 风格化
plt.style.use('ggplot')
plt.plot(x, y)
plt.title('折线图示例')
plt.xlabel('X 轴')
plt.ylabel('Y 轴')
plt.show()
2.3 交互式图表
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
z = np.sin(np.sqrt(x**2 + y**2))
ax.plot_surface(x, y, z, cmap='viridis')
plt.show()
三、Matplotlib 实战案例
3.1 股票价格可视化
import pandas as pd
data = pd.read_csv('stock_data.csv')
plt.plot(data['Date'], data['Close'], label='Close Price')
plt.title('Stock Price')
plt.xlabel('Date')
plt.ylabel('Close Price')
plt.legend()
plt.show()
3.2 地图可视化
import geopandas as gpd
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world.plot()
plt.show()
四、总结
通过以上案例解析,我们全面了解了 Matplotlib 的功能和应用。Matplotlib 是一个功能强大的数据可视化库,可以帮助我们轻松地将数据转换为各种图表,并展示数据之美。希望本篇文章能帮助你掌握数据展示新技能。