matlab 使用plotyy,多柱状图,多折线图并存

  • Post author:
  • Post category:其他


因为自己电脑上装的2014a版matlab,只能用plotyy()语句写代码。

如果电脑是2014b版及以上的,建议使用yyaxis(),这个语句比较简单

x=1:5;%横坐标轴信息

a=[75.256,76.704,75.263,75.337,75.599,];

b=[72.112,70.768,68.63,91.201,92.067,];

bb=[76.100,75.768,75.63,87.201,94.067,];

bbb=[62.108,79.768,71.63,81.201,92.067,];

bbbb=[61.105,62.768,66.63,66.201,67.067,];

%上面是精度

c=[7700.112,7500.768,6600.63,6800.2010,6200.067];

d=[7200.112,7000.768,6800.63,6800.2001,6400.067];

e=[7200.112,7000.768,6800.63,6800.2001,6400.067];

f=[7200.112,7000.768,6800.63,6800.2001,6400.067];

g=[7200.112,7000.768,6800.63,6800.2001,6400.067];

%上面是时间(注重图)

y1 = [a]’;%这个用来显示精度折线图

y2 = [c;d;e;f;g]’;%这个用来显示时间的柱状图变化

%hold on%这没有擦除信息,需这个用来保证多条路径的存在性

[AX,H1,H2] = plotyy(x,y2,x,y1,’bar’,’plot’);

legend([H1],’HIV’,’NCI-1′,’NCI-33′,’NCI-83′,’NCI-123′);

% legend([H2],’HIV’);

set(AX,’FontSize’,14,’FontName’,’Times New Roman’)%设置x轴、左y轴、右y轴刻度字号和字型

set(AX(2),’Xcolor’,’k’,’Ycolor’,’k’)%设置x轴、左y轴刻度字体为黑色;

set(AX(1),’Xcolor’,’k’,’Ycolor’,’k’)%设置x轴、右y轴刻度字体为黑色;

set(AX,’Xlim’,[0,6],’xtick’,[1:1:5])%设置x轴数据范围(0到6),刻度显示(1:5)

set(AX(2),’ylim’,[60,80],’ytick’,[60:2:80])%设置左y轴数据范围(0到0.5),刻度显示(0,0.1,0.2…0.5)

set(AX(1),’ylim’,[6000,8000],’ytick’,[6000:200:8000])%设置右y轴数据范围(0到3),刻度显示(0,1,2,3)

set(H2,’Linestyle’,’-‘,’Marker’,’o’,’MarkerEdgeColor’,’m’,’color’,[1  0   1],’Linewidth’,2.5);%设置第一条曲线的线型、颜色、粗细

set(H1(1),’FaceColor’,[1  0   1]);%设置第一个柱状图的线型、颜色、粗细

set(H1(2),’FaceColor’,[0  1   1]);%设置第二个柱状图的线型、颜色、粗细

set(H1(3),’FaceColor’,[0.67 0  1]);%设置第三个柱状图的线型、颜色、粗细

set(H1(4),’FaceColor’,[0.5 0  0]);%设置第四个柱状图的线型、颜色、粗细

set(H1(5),’FaceColor’,[0.5 0.5 0.5]);%设置第五个柱状图的线型、颜色、粗细

% set(H2,’Linestyle’,’:’)

line(x,b’,’linestyle’,’-.’,’Marker’,’+’,’MarkerEdgeColor’,’y’,’color’,[0  1   1],’Linewidth’,2.5,’parent’,AX(2));%在第一条曲线上再画一条曲线。

line(x,bb’,’linestyle’,’–‘,’Marker’,’*’,’MarkerEdgeColor’,’c’,’color’,[0.67 0  1],’Linewidth’,2.5,’parent’,AX(2))

line(x,bbb’,’linestyle’,’:’,’Marker’,’x’,’MarkerEdgeColor’,’r’,’color’,[0.5 0  0],’Linewidth’,2.5,’parent’,AX(2))

line(x,bbbb’,’Marker’,’>’,’color’,[0.5 0.5 0.5],’Linewidth’,2.5,’parent’,AX(2))

% set(H2,’Linestyle’,’-.’,’color’,’b’,’Linewidth’,2.5);%设置第二条曲线的线型、颜色、粗细

set(get(AX(2),’Ylabel’),’string’,’Amplitude(a.u.)’,’FontSize’,10,’FontName’,’Times New Roman’);%设置左y轴标题字号字型 ,’Position’,[0 0 0 ]设置位置

set(get(AX(1),’Ylabel’),’string’,’Phase(rad)’,’FontSize’,10,’FontName’,’Times New Roman’);%设置右y轴标题字号字型

set(get(AX(2),’Xlabel’),’string’,’Optical frequency(THz)’,’FontSize’,10,’FontName’,’Times New Roman’);%设置x坐标标题字体大小,字型

% legend([H1,H2],’sin(x)+cos(x)’,’exp(x)’,’525′,’54’);

title(‘tu1’)



版权声明:本文为qq_34298850原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。