原帖地址:
科研画图-率失真曲线图改进:散点连接成曲线并画出原散点的标记点(基于Matlab)_Kobaayyy的博客-CSDN博客_率失真优化 matlab
之前有做过一些画科研曲线图的工作,具体见:科研画图:散点连接并平滑(基于Matlab和Python)
现在又在原来的基础上参考人家论文,在率失真曲线图上做一些改进,参考图见下方:
所以基于科研画图:散点连接并平滑(基于Matlab和Python),我还需要在图上画一些标记点,最后改进的MATLAB代码如下:
clear all;clc;x1=[148.2269236 83.99538909 79.39926546 6.996319999] %输入以下两组数据y1=[46.159674 43.72373188 42.08405125 39.57959438]x2=[171.83568 97.47963636 92.18746182 9.043141819]y2=[46.36827538 43.85623025 42.237969 39.649203]a=linspace(min(x1),max(x1)); %插值后将散点连线平滑化b=interp1(x1,y1,a,'cubic');c=linspace(min(x2),max(x2));d=interp1(x2,y2,c,'cubic');%标记点选取还需改进,现在的方法太麻烦plot(a,b,'Color',[0 0.4470 0.7410],'Marker','o','MarkerFaceColor',[0 0.4470 0.7410],'LineWidth',2,'MarkerIndices',[1 52 55 100])%画ab对应曲线,颜色,标记类型,标记填充颜色,粗细,选取的标记点hold onplot(c,d,'Color',[0.8500 0.3250 0.0980],'Marker','^','MarkerFaceColor',[0.8500 0.3250 0.0980],'LineWidth',2,'MarkerIndices',[1 52 55 100])%画cd对应曲线,颜色,标记类型,标记填充颜色,粗细,选取的标记点legend({'SCP','OMAF'},'FontSize',13,'Location','southeast','Orientation','vertical') %题注设置:名称,字号,位置,方向xlabel('Bit rates(kbps)','FontSize',13,'FontWeight','bold') %x轴设置:标题,字号,字体粗细ylabel('PSNR(dB)','FontSize',13,'FontWeight','bold') %y轴设置:名称,字号,字体粗细title('AerialCity','FontSize',15,'FontWeight','bold') %标题描述,名称,字号,字体粗细set(gca,'ygrid','on','gridlinestyle','--','Gridalpha',0.3) %网格设置grid on; %网格
生成的图效果如下:
图是按照参考样式画出来了,但是标记点选取那边还需要做进一步改进(标记点需要自己手动选取)。
还需要注意的一点就是,MarkerIndices(在特定的数据点显示标记)功能在Matlabb之前是没有的,建议使用Matlabb以后的版本,博主用的是Matlabb。
参考:
[1] 条形图
[2] plot 二维线图
[3] Matlab Plot画图时设置marker实心并且和线条一样颜色的方法
[4] Matlab中plot绘图-用曲线连接散点方法
码字不易,如果您觉得有帮助,欢迎点赞和收藏~~
matlab 平滑曲线连接_科研画图-率失真曲线图改进:散点连接成曲线并画出原散点的标记点(基于Matlab)...
如果觉得《matlab 平滑曲线连接_科研画图-率失真曲线图改进:散点连接成曲线并画出原散点的标记》对你有帮助,请点赞、收藏,并留下你的观点哦!