1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > MATLAB 一幅图两个纵坐标(附带功能:设置字体 颜色 字号 坐标轴显示范围 显示间

MATLAB 一幅图两个纵坐标(附带功能:设置字体 颜色 字号 坐标轴显示范围 显示间

时间:2021-08-16 09:43:39

相关推荐

MATLAB 一幅图两个纵坐标(附带功能:设置字体 颜色 字号 坐标轴显示范围 显示间

plot一幅图,有两个变量,共用一个自变量,各有各的纵轴标度,想画在一幅图里

网上查的有两种思路:

1.plotyy

2.yyaxis

个人推荐第2种:yyaxis(亲测在b版本中可以用,据说之前版本可能用不了,没定义呢)

原因:第2种,完全就是原来plot单幅图(单自变量——单函数)的重复操作,理解记忆都方便

而第1种,是另一种思路,不愿意去记了,而且在改变自变量数值时出现了去不掉原数值的问题,所以不用了

不多说,直接上例子,具体的看里面注释

里面还有好多画图可以用的句柄操作,包括:设置字体、颜色、字号、坐标轴显示范围、显示间隔、加百分号,等等,以前也介绍过,后面附上以前博客的链接

data2=zeros(10,3);data2(1,:)=[227,2476,95.07];data2(2,:)=[250,3928,95.27];data2(3,:)=[465,7217,92.69];data2(4,:)=[595,14155,90.85];data2(5,:)=[660,18221,86.42];data2(6,:)=[700,45315,74.59];data2(7,:)=[830,3166,93.81];data2(8,:)=[947,31932,80.15];data2(9,:)=[1076,35302,74.53];data2(10,:)=[1193,19890,86.17];number2=data2(:,1);pixel2 =data2(:,2);rate2 =data2(:,3);figure,yyaxis left;% 激活左边的轴plot(pixel2,'o-r', 'LineWidth',3); % 画第一个变量,o-方式画,线宽设置为3,以防线太细for i=1:length(pixel2)text(i,pixel2(i)+4000,num2str(pixel2(i)),'FontSize',20); %每个坐标点上添加描述值,4000为调整位置高度用的数值endylabel('面积');set(gca,'ycolor','r'); % 改变Y轴颜色set(gca,'ylim',[0,100000],'yTick',[0:20000:100000]); %ylim表示y轴的范围,yTick表示坐标数值的间隔yt1=get(gca,'YTick');% 以下这三句作用:把10000的数值用字符串的形式直接显示出来,否则会自动显示成科学计数法,不喜欢yt11=num2str(yt1');set(gca,'YTickLabel',yt11);yyaxis right; % 激活右边的轴plot(rate2,'o--b', 'LineWidth',3);for i=1:length(rate2)rate=[num2str(rate2(i)),'%']; % 添加百分号%,因为百分比没法加到原始数据中,所以变换成字符串后再加上text(i,rate2(i)-4,rate,'FontSize',20); % 添加数值的位置,设置字号大小endylabel('效率');set(gca,'ycolor','b'); % 改变Y轴颜色set(gca,'ylim',[0,100],'yTick',[0:20:100]);yt2=get(gca,'YTick'); %下面几句也是加百分号,和上一个的方式不同for i=1:length(yt2)b(i)='%';endyt21=[num2str(yt2'),b'];set(gca,'YTickLabel',yt21);set(gca,'XTickLabel',[]); %将原坐标(1,2,3,..)去掉set(gca,'XTickLabel',{number2},'FontSize',15); %添加横轴数值,不再是1,2,3.....xlabel('序号');title('关系图');grid on % 画网格legend('面积','效率'); % 图例set(gca,'Fontname', 'Monospaced','FontSize',20); % 在这里统一设置字体的字号,前面的所有都变(为啥要设置字体:因为我用的b是中文版,画出的图中的汉字显示不出来,只能显示方框,查原因说是系统默认的字体不支持中文,所以需要在这里设置一下为 Monospaced 字体就可以了)在这里插入代码片

上图:

参考链接:

数组合并:/wmz13248/article/details/106282694

设置线条颜色和状态:/wmz13248/article/details/106283404

调整字体字号、添加数值:/wmz13248/article/details/106288206

加百分号、设置刻度范围:/wmz13248/article/details/106384341

MATLAB 一幅图两个纵坐标(附带功能:设置字体 颜色 字号 坐标轴显示范围 显示间隔 加百分号)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。