利用MATLAB同时绘制柱状图和折线图,其中柱状图表示温度,折线图表示颗粒物浓度,左侧y轴表示温度(单位摄氏度),右侧y轴表示颗粒物浓度(个/每立方米)。
方法/步骤
-
第一,以某地区一周的温度和空气中颗粒物浓度为例,一周(7天)的温度分别为35,33,31,30,28,26,27摄氏度,颗粒物浓度分别为550,515,450,375,215,150,195个/立方米。下面利用MATLAB同时绘制柱状图和折线图,其中柱状图表示温度,折线图表示颗粒物浓度。
启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码:
close all; clear all; clc
days=1:1:7;
temperature=[35,33,31,30,28,26,27];
concentration=[550,515,450,375,215,150,195];
[hAxes,hBar,hLine]=plotyy(days,temperature,days,concentration,'bar','plot');
-
第二,保存和运行上述脚本,得到如下图像,柱状图表示温度,折线图表示颗粒物浓度。
-
第三,为使柱状图和折线图对比明显,现在改变折线图的颜色、粗细和标记点。在脚本编辑区接着输入如下代码:
set(hLine,'color',[1,0,0],'LineWidth',2,'Marker','o','MarkerSize',15,...
'MarkerFace','y')
-
第四,保存和运行上述脚本,得到如下图形,折线图的颜色、粗细、标记点的样式及颜色都做了相应改变。
-
第五,为上述图形添加标题和坐标轴名称,并且设置左侧y轴单位为温度,右侧y轴单位为颗粒物浓度。在脚本编辑区接着输入如下代码:
title('Trend Chart for Temperature & Concentration')
xlabel('Days')
ylabel(hAxes(1),'Temperature(^{o}C)')
ylabel(hAxes(2),'Concentration(num*m^-3)')
-
第六,保存和运行上述脚本,得到如下图形。柱状图表示温度,折线图表示颗粒物浓度,左侧y轴单位为摄氏度,右侧y轴单位为个/立方米。
END