以下是几个基于 `matplotlib` 的绘图示例代码及其说明:
### 示例 1:绘制简单折线图
此示例展示了如何使用 `plt.plot()` 函数绘制一条简单的折线图。
```python
import matplotlib.pyplot as plt
# 数据准备
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
# 创建折线图
plt.plot(x, y, label="Line", color="blue", linestyle="--", marker="o")
# 添加标签和标题
plt.xlabel("X-axis Label")
plt.ylabel("Y-axis Label")
plt.title("Simple Line Plot Example")
plt.legend()
# 显示图像
plt.show()
```
这段代码利用了 `plt.plot()` 方法来生成一个带有标记点的虚线图表[^1]。
---
### 示例 2:水平柱状图
下面是一个展示不同国家人口数量的水平柱状图的例子。
```python
import matplotlib.pyplot as plt
name_list = ['China', 'USA', 'India', 'Russia']
num_list = [14, 3.3, 7.8, 1.46]
plt.barh(name_list, num_list, color=['red', 'green', 'blue', 'purple'])
plt.xlabel("Population (Billion)")
plt.ylabel("Country Names")
plt.title("Horizontal Bar Chart of Population by Country")
plt.tight_layout() # 自动调整子图参数,使之填充整个图像区域
plt.show()
```
这个例子中的 `plt.barh()` 方法被用来制作水平方向上的条形统计图[^2]。
---
### 示例 3:决策树分类边界可视化
这是一个更高级的应用场景——显示决策树模型对于二维空间内的分类边界的描绘方式。
```python
from sklearn.datasets import make_moons
from sklearn.tree import DecisionTreeClassifier
import numpy as np
import matplotlib.pyplot as plt
# 构建月牙形状数据集
X, y = make_moons(n_samples=100, noise=0.1)
# 训练决策树模型
tree_clf = DecisionTreeClassifier(max_depth=3).fit(X, y)
# 定义网格并预测每个网格单元所属类别
xx, yy = np.meshgrid(np.linspace(-2, 3, 500),
np.linspace(-1, 2, 500))
Z = tree_clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
# 可视化结果
fig, ax = plt.subplots(figsize=(6, 4))
ax.contourf(xx, yy, Z, alpha=0.4, cmap=plt.cm.Paired)
scatter = ax.scatter(X[:, 0], X[:, 1], c=y, s=20, edgecolors='k')
legend = scatter.legend_elements(prop="colors", fmt=None)[0]
ax.legend(legend, ["Class 0", "Class 1"], loc="upper left")
plt.title("Decision Boundary Visualization Using Decision Tree Classifier")
plt.show()
```
这里通过调用 `contourf()` 和 `scatter()` 来呈现连续变化以及离散分布两种形式的数据特征[^4]。
---
### 示例 4:带颜色条的高斯噪声热力图
最后介绍一种涉及渐变色彩表现手法的情况——即应用颜色映射技术表达数值差异程度的地图样式图形。
```python
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
np.random.seed(0)
data = np.random.randn(10, 10) * 10
cmap = plt.cm.get_cmap('coolwarm') # 获取指定名称的颜色映射方案
norm = mcolors.Normalize(vmin=data.min(), vmax=data.max()) # 归一化处理原始矩阵元素值域至[0,1]区间范围内
fig, ax = plt.subplots()
heatmap = ax.imshow(data, interpolation='nearest', cmap=cmap, norm=norm)
cb = fig.colorbar(heatmap, ax=ax) # 插入右侧垂直放置的颜色比例尺组件对象实例变量赋值给局部变量名'cb'
cb.set_label('Intensity')
plt.title("Gaussian Noise Heatmap with Colorbar Progression")
plt.xticks([])
plt.yticks([])
plt.show()
```
在此案例里运用到了 `imshow()` 结合自定义好的颜色梯度表单完成最终渲染效果[^5]。
---
####