matlab实现4个y轴绘图,要求3个柱状图1个折线图
时间: 2024-12-13 20:16:53 浏览: 13
折线图和柱状图的叠加小例子
3星 · 编辑精心推荐
在MATLAB中,实现四个y轴的图表通常需要利用`subplot`函数以及一些调整轴标签、刻度和图例的技巧。下面是一个简单的例子,展示如何创建一个包含三个柱状图和一个折线图,并且每个图形都有独立的y轴:
```matlab
% 创建数据
data1 = rand(10); % 折线图数据
data2 = randi([50, 100], 10, 1); % 第一列柱状图数据
data3 = randi([20, 80], 10, 1); % 第二列柱状图数据
data4 = randi([10, 60], 10, 1); % 第三列柱状图数据
% 创建figure并设置子图
figure;
ax1 = subplot(2, 2, 1); % 第一个柱状图
bar(ax1, data2);
title('柱状图1');
ax2 = subplot(2, 2, 2); % 第二个柱状图
bar(ax2, data3);
title('柱状图2');
ax3 = subplot(2, 2, 3); % 折线图
plot(ax3, data1);
title('折线图');
xlabel('X轴');
ylabel('Y轴1'); % 设置第一个y轴的标题
ax4 = subplot(2, 2, 4); % 第三个柱状图在同一行
hold on; % 避免覆盖折线图
bar(ax4, data4);
title('柱状图3');
hold off;
% 调整y轴范围和刻度
ylim([0 max(max(data2(:)), max(data3(:))), max(data4(:))]);
set(ax1, 'YTick', []);
set(ax2, 'YTick', []);
set(ax3, 'YTick', [min(data1) mean(data1) max(data1)]);
set(ax4, 'YTick', []);
% 显示图例
legend([ax1, ax2, ax3, ax4], {'柱状图1', '柱状图2', '折线图', '柱状图3'});
```
阅读全文