matlab绘制柱状图和折线图一起
时间: 2025-03-01 08:08:13 浏览: 116
### 同一张图表中绘制柱状图和折线图
为了在同一张图表中同时展示柱状图和折线图,在 MATLAB 中可以通过创建两个不同类型的绘图对象并调整它们的属性来实现这一目标。具体来说,先绘制柱状图,再在其基础上添加折线图。
#### 创建数据集
定义用于柱状图的数据 `x` 和 `y1` 以及用于折线图的数据 `x` 和 `y2`:
```matlab
x = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8];
y1 = [0, 0.55, 0.69, 0.86, 0.93, 0.93, 0.97, 0.97, 1]; % 柱状图数据
y2 = [0, 0.45, 0.79, 0.93, 0.97, 0.97, 1, 1, 1]; % 折线图数据
```
#### 绘制柱状图
使用 `bar()` 函数绘制柱状图,并指定颜色和其他样式选项:
```matlab
figure;
b = bar(x, y1, 'FaceColor', [0.2, 0.6, 0.8], 'EdgeColor', 'k');
hold on;
```
#### 添加折线图
接着利用 `plot()` 或者更推荐的方式是通过 `yyaxis right` 来增加第二个 Y 轴专门给折线图用,这样可以使两种图形更加清晰地区分开来:
```matlab
p = plot(x, y2, '-ro', 'LineWidth', 2); % 使用红色圆圈标记点连接成线
legend({'柱状图', '折线图'}, 'Location', 'BestOutsidePlot'); % 图例说明
xlabel('X轴标签');
ylabel('左侧Y轴 (柱状图)');
title('柱状图与折线图组合示意图');
% 如果需要双Y轴,则继续如下操作:
yyaxis right;
ylabel('右侧Y轴 (折线图)');
ylim([min(y2)-diff(range(y2))*0.1 max(y2)+diff(range(y2))*0.1]);
```
以上代码片段展示了如何在一个坐标系内同时呈现柱状图和折线图的方法[^5]。值得注意的是,还可以进一步自定义图表外观,比如改变线条宽度、添加网格线等特性以满足特定需求。
阅读全文
相关推荐

















