柱状图加折线图matplotlib绘制
时间: 2025-06-29 22:03:48 浏览: 7
### 如何在同一张图表中使用 Matplotlib 绘制柱状图和折线图
为了实现这一目标,可以创建一个共享相同 X 轴的两个子图。其中一个用于绘制柱状图,另一个则用来展示折线图。然而更简便的方法是在同一个 `Axes` 对象上分别调用 `bar()` 和 `plot()` 方法来完成这两种图形的同时绘制。
下面是一个具体的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 创建数据集
categories = ['A', 'B', 'C', 'D']
values_bar = [3, 7, 2, 5]
values_line = [8, 6, 9, 5]
# 初始化图像并设置大小
fig = plt.figure(figsize=(10, 6))
# 添加绘图区域到画布 fig 上,并指定其为坐标轴风格的绘图区[^2]
ax = fig.add_subplot(111)
# 使用 bar() 函数绘制柱状图
ax.bar(categories, values_bar, color='blue', label='Bar Chart')
# 同样在这个 Axes 实例上调用 plot() 来添加折线图
ax.plot(categories, values_line, marker='o', linestyle='-', color='red', linewidth=2, label='Line Chart')
# 设置标题与标签
ax.set_title('Combination of Bar and Line Charts')
ax.set_xlabel('Categories')
ax.set_ylabel('Values')
# 显示图例
ax.legend()
plt.show()
```
这段代码首先定义了一些示例性的类别及其对应的数值序列;接着初始化了一个新的 Figure 对象作为整个图片的基础框架,并通过 `add_subplot()` 方法指定了该 figure 中的一个 subplot 位置给定为当前活动的 axes (即 ax),这一步骤允许后续在此基础上叠加不同类型的图表。最后,在这个特定的 axes 上既执行了条形图也进行了线条图的渲染操作,从而实现了两者共存于一张图表内的效果。
阅读全文
相关推荐


















