matlab绘制双坐标图并且绘制柱状图


clear all;clc;close all;


x = [1,2,3,4,5,6];
y1 = [6,6,6,0,0,0];
x2 = [2,4,6];
y2 = [0,0,0,420,180,50];

figure;
[AX,H1,H2] = plotyy(x,y1,x,y2,'bar','bar')
set(H1,'BarWidth',0.5,'FaceColor',[0.69 0.88 0.9])
set(H2,'BarWidth',0.5,'FaceColor',[1 0.87 0.68])
new_name={'遗传算法','网格搜索','粒子群','遗传算法','网格搜索','粒子群'}
set(AX(1),'XTickLabel',new_name);
set(AX(1),'FontSize',8)
set(AX(1),'ytick',0:1.3:6.5,'ylim',[0 6.5]);
set(get(AX(1),'ylabel'),'string','误差')
set(AX(2),'XTickLabel','')
set(AX(2),'ytick',0:90:450,'ylim',[0 450]);
legend('绝对误差之和','参数寻优时间');
set(get(AX(2),'ylabel'),'string','时间')

set(gcf,'unit','centimeters','position',[10 8 12 9])

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u010589524/article/details/88345166