看上去这个图好像是用Excel做的。
用MATLAB做当然也可以实现,但在一些细节上会有一定差异,要实现和图中完全相同的效果比较困难。
多子图用subplot函数就可以了,不多说。
绘制双纵坐标图用plotyy函数,如果图的形式不同,可以用下面的方式
plotyy(X1,Y1,X2,Y2,'function1','function2')
指定绘图的函数,例如
plotyy(1:10,sin(1:10),1:10,sin((1:10)*0.3),@plot,@bar)
而线型、线宽、颜色以及坐标轴的YTickLabel等需要调用plotyy时返回句柄,然后再用set去设置了。
x=readtable('练习数据.xlsx','sheet','设备价值');
bar(x.value)
ax=gca;
ax.YLim=[0 140000];
ax.YTick=[0:10000:280000];
ax.YTickLabel=[0:10000:140000];
ax.XTickLabel=x.name;
ax.XLabel.String='项目';
ax.YLabel.String='金额 ';
ax.Title.String='设备金额';
hold on
scatter(ax.XTick,x.value);
plot(ax.XTick,x.value);
yyaxis right;
plot();
yyaxis left;
plot();