【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列2
「【公众号】(Lwcah)由于改变了推送规则,为了每次新的推送可以在第一时间出现在您的订阅列表中,记得将本【公众号】(Lwcah)设为星标或置顶哦~」
有意向直接获取代码压缩包,请关注【公众号】(Lwcah)后,后台回复关键词【科研绘图合集】,以及获取 up 的个人【微信号】,添加【微信号】后可以一起探讨科研,写作,代码等诸多学术问题,我们一起进步~
14 【MATLAB】科研绘图第十四期表示散点分布的双柱状双Y轴统计图
%% 表示散点分布的双柱状双Y轴统计图 %% Made by Lwcah (公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除变量 close all;clear all;clc; %% 1行1列 %% 一幅图的时候figureWidth = 8.5;figureHeight = 8;调整这两个参数就可以 %定义整幅图出现的在电脑屏幕上的位置以及长和宽 %这里有必要解释一下为什么figureWidth要设置为8.5; %因详细解释需要很长的篇幅,请转公众号观看该天的文章。 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 8.5; figureHeight = 6; set(gcf, 'Units', figureUnits, 'Position', [28 20 figureWidth figureHeight]); % 注:28代表出图时图的左下角相对于整个电脑屏幕的左下角向左偏移28个单位,向上偏移20个单位。 % 可自行调节两个数字让图出在自己屏幕的某个位置 %% 定义字体和字号大小 %% 通常的SCI一般Arial字体和10字号通用 fontnamed='华文中宋';%字号名字Arial ssize=10;%字号大小 %% 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(343);%香水玫瑰 C2 = chinesecolors(150);%靛青 C3 = chinesecolors(523);%玫瑰灰 % C4 = chinesecolors(17);%鹅冠红 %% 数据 x = 1:30; y = x+rand(1,30)*0.01; %% 表示散点分布的双柱状统计图绘图 [n1,ctr1] = hist(x,20); [n2,ctr2] = hist(y,20); subplot(2,2,2); yyaxis right bar(ctr1,-n1,1);h1 = gca;hold on;box on;grid on; ylabel('Numbers','fontsize',ssize,'FontName',fontnamed); alpha(0.1);%调整柱状图颜色的透明度 yyaxis left plot(x,y,'.');axis on; h2 = gca; hold on;box on;grid on; xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); subplot(2,2,1); barh(ctr2,-n2,1);axis off; h3 = gca; h1.Position = [0.35 0.35 0.50 0.55]; % h2.Position = [0.05 0.35 0.25 0.55]; h3.Position = [0.08 0.35 0.15 0.55]; %% 修图的标准格式代码 % text(0.5,0.9,'(a) XXX','fontsize',ssize,'FontName',fontnamed);%,'horiz','center' % title('1000'); % xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); % ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); % axis([0 10 0 7]);%XY轴的范围 % xticks([1 2 3 4 5 6 7 8 9 10]);%画格网的时候的小刻度 % xticklabels({'1','2','3','4','5','6','7','8','9','10'});%加x轴刻度标注 % yticks([1 2 3 4 5 6]);%画格网的时候的小刻度 % yticklabels({'1','2','3','4','5','6'});%加y轴刻度标注 set(gca,'linewidth',1,'fontsize',ssize,'FontName',fontnamed); % set(gca,'yticklabel',[]);%y轴不显示 % set(gca,'xticklabel',[]);%x轴不显示 grid on;box on;hold on; %% 画legend % hLegend1=legend('A1', 'A2', 'A3','Location', 'northeast','Box', 'off','Orientation','horizontal','fontsize',ssize,'FontName',fontnamed); %方法一 % kk=legend('h1'); % set(kk,'location','NorthEast','Box', 'off','fontsize',ssize,'FontName',fontnamed);%'orientation','horizontal', %方法二 % columnlegend(2,{'L1','L2','L3','L4','L5','L6'},'North');%表示一行放三个图例以及图例的位置 %% Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]); %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo_scartter_double_bar_plus'; print(figureHandle,[fileout,'.png'],'-r600','-dpng');
15 【MATLAB】科研绘图第十五期多Y轴图
%% 多Y轴图 %% Made by Lwcah (公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除环境变量 close all;clear all;clc; %% 1行1列-定义整幅图出现的在电脑屏幕上的位置以及长和宽 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 15; figureHeight = 8; set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]); %% 定义字体和字号大小-通常的SCI一般Arial字体和10字号通用 fontnamed='Arial'; % 字号名字Arial ssize=10; % 字号大小 % 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(343); % 香水玫瑰 C2 = chinesecolors(150); % 靛青 C3 = chinesecolors(523); % 玫瑰灰 C4 = chinesecolors(232); % 粉绿 %% % handle = maxis(number of axis, y-spacing between outside lines) h = myaxisc(4,0.10); % 第一个参数4是设置轴的数量,第二个参数0.10是设置轴间距 % Create some random data for plotting t1 = 0:0.1:5; t2 = 0:1:5; y11 = sin(t1); y21 = t1.^2-5; y22 = 15-t2.*2; y31 = sqrt(t1).*2+97; y41 = rand(size(t1))-2; y42 = rand(size(t1))+4; p(1) = plot(h.p(1),t1,y11,'Color',C1);hold on; p(2) = plot(h.p(2),t1,y21,'Color',C2,'LineStyle','--','Marker','o');hold on; p(3) = plot(h.p(2),t2,y22,'Color',C2,'LineStyle','--','Marker','s');hold on; p(4) = plot(h.p(3),t1,y31,'Color',C3);hold on; p(5) = plot(h.p(4),t1,y41,'Color',C4,'LineStyle','--','Marker','o');hold on; p(6) = plot(h.p(4),t1,y42,'Color',C4,'LineStyle','--','Marker','s');hold on; % p(7) = bar(h.p(4),t1,y42,0.20,'FaceColor',C4);hold on; % 如果要画柱状图的话 h.xlim([0,5]); % Set X-Axis Limits h.autoscale; % Automatically Scale Y Axis h.autoy(3); % Autoscale only specified y-axis % h.ylim(3,[95,105]); % Set Y-Limits for axis 3 % h.ylim(4,[-3,8]); % Set Y-Limits for axis 4 h.gridon; % Enable grid (use h.gridoff to remove) h.ycolor(1,C1); % Modify the y-Axis Color h.ycolor(2,C2); % Modify the y-Axis Color h.ycolor(3,C3); % Modify the y-Axis Color h.ycolor(4,C4); % Modify the y-Axis Color h.ylabel(1,'First Y-Axis (Y1)'); % Add y-Labels h.ylabel(2,'Second Y-Axis (Y2)'); % Add y-Labels h.ylabel(3,'Third Y-Axis (Y3)'); % Add y-Labels h.ylabel(4,'Another Y-Axis(Y4)'); % Add y-Labels h.xlabel('X-Axis'); % Add x-Label h.fontsize(10); % Change all font sizes h.position([0.1,0.15,0.8,0.75],0.12); % Position-Vector and Spacing 0.12 %% 增添图例 kk=legend(h.legendtarget,p,'Line 1','Line 2','Line 3','Line 4','Line 5','Line 6'); set(kk,'location','NorthOutside','Box', 'off','Orientation','horizontal','fontsize',10,'FontName',fontnamed); % Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]) %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'myaxisc_example'; print(figureHandle,[fileout,'.png'],'-r800','-dpng');
16 【MATLAB】科研绘图第十六期三Y轴图
%% 三Y轴图 %% 根据自己绘图需求需要修改的有46,49,50,51,53,75和77 %% Made by Lwcah(公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除环境变量 close all;clear all;clc; %% 1行1列-定义整幅图出现的在电脑屏幕上的位置以及长和宽 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 15; figureHeight = 8; set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]); %% 定义字体和字号大小-通常的SCI一般Arial字体和10字号通用 fontnamed = 'Arial'; % 字号名字Arial ssize = 10; % 字号大小 % 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(343); % 香水玫瑰 C2 = chinesecolors(150); % 靛青 C3 = chinesecolors(523); % 玫瑰灰 C4 = chinesecolors(232); % 粉绿 %% 加载数据 load res_CRMN x = 1:1:18; x = x'; y1 = res_CRMN(:,3); % 误差 y2 = res_CRMN(:,2); % 均方根误差 y3 = res_CRMN(:,1); % 相关系数 %% 绘图 [ax1,hlines1] = plotyn(x,y1,x,y2,x,y3); % 画三Y轴图(主函数29行和子函数第56列要更改,修图功能) %% 增添图例 % kk=legend(h.legendtarget,p,'Line 1','Line 2','Line 3','Line 4','Line 5','Line 6'); % set(kk,'location','NorthOutside','Box', 'off','Orientation','horizontal','fontsize',10,'FontName',fontnamed); % Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]) %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo_yaxis3'; print(figureHandle,[fileout,'.png'],'-r800','-dpng');
17 【MATLAB】科研绘图第十七期双Y轴图
%% 三Y轴图 %% 根据自己绘图需求需要修改的有46,49,50,51,53,75和77 %% Made by Lwcah(公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除环境变量 close all;clear all;clc; %% 1行1列-定义整幅图出现的在电脑屏幕上的位置以及长和宽 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 15; figureHeight = 7; set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]); %% 定义字体和字号大小-通常的SCI一般Arial字体和10字号通用 fontnamed = 'Arial'; % 字号名字Arial ssize = 10; % 字号大小 % 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(150); % 靛青 C2 = chinesecolors(523); % 玫瑰灰 C3 = chinesecolors(343); % 香水玫瑰 C4 = chinesecolors(232); % 粉绿 %% 加载数据 load res_CRMN x = 1:1:18; x = x'; y1 = res_CRMN(:,3); % 误差 y2 = res_CRMN(:,2); % 均方根误差 %% 绘图 yyaxis left h1 = line (x,y1,'LineStyle','--','Marker','o','LineWidth',1,'Color',C1, 'MarkerEdgeColor',C1,'MarkerFaceColor',C1);hold on; ylabel('Y1-axis','fontsize',ssize,'FontName',fontnamed,'Color',C1); axis([0 19 -0.2 0]);%XY轴的范围 xticks([1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18]);%画格网的时候的小刻度 xticklabels({'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18'});%加x轴刻度标注 yticks([-0.20 -0.15 -0.10 -0.05 0]);%画格网的时候的小刻度 yticklabels({'-0.20','-0.15','-0.10','-0.05','0'});%加y轴刻度标注 set(gca,'linewidth',1,'fontsize',ssize,'FontName',fontnamed); set(gca,'ycolor',C1); yyaxis right h2 = line (x,y2,'LineStyle','--','Marker','o','LineWidth',1,'Color',C2, 'MarkerEdgeColor',C2,'MarkerFaceColor',C2);hold on; hold on;box on;grid on;axis on; ylabel('Y2-axis','fontsize',ssize,'FontName',fontnamed,'Color',C2); axis([0 19 0.2 0.6]);%XY轴的范围 % xticks([1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18]);%画格网的时候的小刻度 % xticklabels({'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18'});%加x轴刻度标注 yticks([0.2 0.3 0.4 0.5 0.6]);%画格网的时候的小刻度 yticklabels({'0.2','0.3','0.4','0.5','0.6'});%加y轴刻度标注 set(gca,'linewidth',1,'fontsize',ssize,'FontName',fontnamed); set(gca,'ycolor',C2); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); %% 增添图例 kk=legend([h1,h2],'L1','L2'); set(kk,'location','North','Box', 'off','fontsize',ssize,'orientation','horizontal','FontName',fontnamed);% % Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]) %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo_yaxis2'; print(figureHandle,[fileout,'.png'],'-r800','-dpng');
18 【MATLAB】科研绘图第十八期散点密度图
%% 散点密度图 %% Made by Lwcah in 2023-06-26(公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除环境变量 close all;clear all;clc; %% 1行1列-定义整幅图出现的在电脑屏幕上的位置以及长和宽 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 15; figureHeight = 16; set(gcf, 'Units', figureUnits, 'Position', [2 2 figureWidth figureHeight]); %定义子图在图中的x,y以及长和宽 pos54 = zeros(20,4); pos54(:,3) = 0.23; % 长x pos54(:,4) = 0.19; % 宽y pos54([17 18 19 20],2) = 0.05; % y pos54([13 14 15 16],2) = 0.24; % y pos54([9 10 11 12],2) = 0.43; % y pos54([5 6 7 8],2) = 0.62; % y pos54([1 2 3 4],2) = 0.81; % y pos54([1 5 9 13 17],1) = 0.07; % x pos54([2 6 10 14 18],1) = 0.30; % x pos54([3 7 11 15 19],1) = 0.53; % x pos54([4 8 12 16 20],1) = 0.76; % x %% 定义字体和字号大小-通常的SCI一般Arial字体和10字号通用 fontnamed = 'Arial'; % 字号名字Arial ssize = 10; % 字号大小 % 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(150); % 靛青 C2 = chinesecolors(523); % 玫瑰灰 C3 = chinesecolors(343); % 香水玫瑰 C4 = chinesecolors(232); % 粉绿 %% 加载数据 load x load y res_CRMN = []; % 用于存储反演的精度结果 %% 绘图 subplot('position',pos54(1,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(a)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(2,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(b)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(3,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(c)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(4,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(d)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(5,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(e)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(6,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(f)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(7,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(g)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(8,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(h)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(9,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(i)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(10,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(j)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(11,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(k)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(12,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(l)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(13,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(m)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(14,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(n)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(15,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(o)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(16,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); text(0,4.5,'(p)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(17,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(q)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(18,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(r)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(19,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(s)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(20,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc(res_CRMN,x,y,C1,C2); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(t)','fontsize',ssize,'FontName',fontnamed); %% 增添图例 % kk=legend([h1,h2],'L1','L2'); % set(kk,'location','North','Box', 'off','fontsize',ssize,'orientation','horizontal','FontName',fontnamed);% % Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]) %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo4_scatter_density5x4'; print(figureHandle,[fileout,'.png'],'-r800','-dpng');
19 【MATLAB】科研绘图第十九期散点密度图强化版
%% 散点密度图 %% Made by Lwcah in 2023-06-26(公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除环境变量 close all;clear all;clc; %% 1行1列-定义整幅图出现的在电脑屏幕上的位置以及长和宽 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 15; figureHeight = 16; set(gcf, 'Units', figureUnits, 'Position', [2 2 figureWidth figureHeight]); %定义子图在图中的x,y以及长和宽 pos54 = zeros(20,4); pos54(:,3) = 0.23; % 长x pos54(:,4) = 0.19; % 宽y pos54([17 18 19 20],2) = 0.05; % y pos54([13 14 15 16],2) = 0.24; % y pos54([9 10 11 12],2) = 0.43; % y pos54([5 6 7 8],2) = 0.62; % y pos54([1 2 3 4],2) = 0.81; % y pos54([1 5 9 13 17],1) = 0.07; % x pos54([2 6 10 14 18],1) = 0.30; % x pos54([3 7 11 15 19],1) = 0.53; % x pos54([4 8 12 16 20],1) = 0.76; % x %% 定义字体和字号大小-通常的SCI一般Arial字体和10字号通用 fontnamed = 'Arial'; % 字号名字Arial ssize = 10; % 字号大小 % 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(150); % 靛青 C2 = chinesecolors(523); % 玫瑰灰 C3 = chinesecolors(343); % 香水玫瑰 C4 = chinesecolors(232); % 粉绿 %% 加载数据 load x load y res_CRMN = []; % 用于存储反演的精度结果 %% 绘图 subplot('position',pos54(1,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(a)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(2,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(b)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(3,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(c)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(4,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(d)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(5,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(e)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(6,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(f)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(7,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(g)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(8,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(h)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(9,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(i)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(10,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(j)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(11,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(k)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(12,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(l)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(13,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(m)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(14,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(n)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(15,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(o)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(16,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); text(0,4.5,'(p)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(17,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(q)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(18,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(r)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(19,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(s)','fontsize',ssize,'FontName',fontnamed); subplot('position',pos54(20,:)); [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N] = plotcc_contourf(res_CRMN,x,y,C1,C2); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); text(0,4.5,'(t)','fontsize',ssize,'FontName',fontnamed); %% 增添图例 % kk=legend([h1,h2],'L1','L2'); % set(kk,'location','North','Box', 'off','fontsize',ssize,'orientation','horizontal','FontName',fontnamed);% % Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]) %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo4_scatter_density5x4'; print(figureHandle,[fileout,'.png'],'-r800','-dpng');
20 【MATLAB】科研绘图第二十期散点密度双柱状图
%% 表示散点分布的双柱状统计图 %% Made by Lwcah(公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除变量 close all;clear all;clc; %% 1行1列 %% 一幅图的时候figureWidth = 8.5;figureHeight = 8;调整这两个参数就可以 %定义整幅图出现的在电脑屏幕上的位置以及长和宽 %这里有必要解释一下为什么figureWidth要设置为8.5; %因详细解释需要很长的篇幅,请转公众号观看该天的文章。 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 8.5; figureHeight = 6; set(gcf, 'Units', figureUnits, 'Position', [28 20 figureWidth figureHeight]); % 注:28代表出图时图的左下角相对于整个电脑屏幕的左下角向左偏移28个单位,向上偏移20个单位。 % 可自行调节两个数字让图出在自己屏幕的某个位置 %% 定义字体和字号大小 %% 通常的SCI一般Arial字体和10字号通用 fontnamed='华文中宋'; % 字号名字Arial ssize=10; % 字号大小 %% 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(150); % 靛青 C2 = chinesecolors(523); % 玫瑰灰 C3 = chinesecolors(343); % 香水玫瑰 C4 = chinesecolors(148); % 海涛蓝 %% 数据 load x load y %% 表示散点分布的双柱状统计图绘图 subplot(2,2,2); %% 绘图 res_CRMN = []; [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N]=plotcc(res_CRMN,x,y,C1,C2);% 用于存储反演的精度结果 % 是否添加X,Y轴标签 title('scatter density 1','fontsize',ssize,'FontName',fontnamed,'horiz','center'); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); % text(-0.9,4.5,'(a)','fontsize',ssize,'FontName',fontnamed); text(-0.4,4.5,str_C,'fontsize',ssize,'FontName',fontnamed); text(-0.4,3.9,str_RMSE,'fontsize',ssize,'FontName',fontnamed); text(-0.4,3.3,str_M,'fontsize',ssize,'FontName',fontnamed); text(-0.4,2.7,str_N,'fontsize',ssize,'FontName',fontnamed); axis on; h1 = gca; hold on;box on;grid on; subplot(2,2,4); [n1,ctr1] = hist(x,20); bar(ctr1,-n1,1,'FaceColor',C4);%,'EdgeColor','none','FaceAlpha',0.7 axis off; h2 = gca; h2.XLim=h1.XLim; h2.XColor='none'; h2.YTickLabel=''; h2.TickDir='out'; subplot(2,2,1); [n2,ctr2] = hist(y,20); barh(ctr2,-n2,1,'FaceColor',C4);%,'EdgeColor','none','FaceAlpha',0.7 axis off; h3 = gca; h3.YLim=h1.YLim; h3.YColor='none'; h3.XTickLabel=''; h3.TickDir='out'; h1.Position = [0.31 0.35 0.53 0.55]; h2.Position = [0.31 0.03 0.53 0.15]; h3.Position = [0.03 0.35 0.15 0.55]; %% 修图的标准格式代码 % text(0.5,0.9,'(a) XXX','fontsize',ssize,'FontName',fontnamed);%,'horiz','center' % title('1000'); % xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); % ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); % axis([0 10 0 7]);%XY轴的范围 % xticks([1 2 3 4 5 6 7 8 9 10]);%画格网的时候的小刻度 % xticklabels({'1','2','3','4','5','6','7','8','9','10'});%加x轴刻度标注 % yticks([1 2 3 4 5 6]);%画格网的时候的小刻度 % yticklabels({'1','2','3','4','5','6'});%加y轴刻度标注 set(gca,'linewidth',1,'fontsize',ssize,'FontName',fontnamed); % set(gca,'yticklabel',[]);%y轴不显示 % set(gca,'xticklabel',[]);%x轴不显示 grid on;box on;hold on; %% 画legend % hLegend1=legend('A1', 'A2', 'A3','Location', 'northeast','Box', 'off','Orientation','horizontal','fontsize',ssize,'FontName',fontnamed); %方法一 % kk=legend('h1'); % set(kk,'location','NorthEast','Box', 'off','fontsize',ssize,'FontName',fontnamed);%'orientation','horizontal', %方法二 % columnlegend(2,{'L1','L2','L3','L4','L5','L6'},'North');%表示一行放三个图例以及图例的位置 %% Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]); %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo1_scartter_double_bar'; print(figureHandle,[fileout,'.png'],'-r600','-dpng');
21 【MATLAB】科研绘图第二十一期散点密度双柱状图强化版
%% 表示散点分布的双柱状统计图 %% Made by Lwcah (公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除变量 close all;clear all;clc; %% 1行1列 %% 一幅图的时候figureWidth = 8.5;figureHeight = 8;调整这两个参数就可以 %定义整幅图出现的在电脑屏幕上的位置以及长和宽 %这里有必要解释一下为什么figureWidth要设置为8.5; %因详细解释需要很长的篇幅,请转公众号观看该天的文章。 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 8.5; figureHeight = 6; set(gcf, 'Units', figureUnits, 'Position', [28 20 figureWidth figureHeight]); % 注:28代表出图时图的左下角相对于整个电脑屏幕的左下角向左偏移28个单位,向上偏移20个单位。 % 可自行调节两个数字让图出在自己屏幕的某个位置 %% 定义字体和字号大小 %% 通常的SCI一般Arial字体和10字号通用 fontnamed='华文中宋'; % 字号名字Arial ssize=10; % 字号大小 %% 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(150); % 靛青 C2 = chinesecolors(523); % 玫瑰灰 C3 = chinesecolors(343); % 香水玫瑰 C4 = chinesecolors(135); % 海涛蓝 %% 数据 load x load y %% 表示散点分布的双柱状统计图绘图 subplot(2,2,2); %% 绘图 res_CRMN = []; [res_CRMN,str_equation,str_C,str_RMSE,str_M,str_N]=plotcc_contourf(res_CRMN,x,y,C1,C2);% 用于存储反演的精度结果 % 是否添加X,Y轴标签 title('scatter density 1','fontsize',ssize,'FontName',fontnamed,'horiz','center'); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); % text(-0.9,4.5,'(a)','fontsize',ssize,'FontName',fontnamed); text(-0.4,4.5,str_C,'fontsize',ssize,'FontName',fontnamed); text(-0.4,3.9,str_RMSE,'fontsize',ssize,'FontName',fontnamed); text(-0.4,3.3,str_M,'fontsize',ssize,'FontName',fontnamed); text(-0.4,2.7,str_N,'fontsize',ssize,'FontName',fontnamed); axis on; h1 = gca; hold on;box on;grid on; subplot(2,2,4); [n1,ctr1] = hist(x,20); bar(ctr1,-n1,1,'FaceColor',C4);%,'EdgeColor','none','FaceAlpha',0.7 axis off; h2 = gca; h2.XLim=h1.XLim; h2.XColor='none'; h2.YTickLabel=''; h2.TickDir='out'; subplot(2,2,1); [n2,ctr2] = hist(y,20); barh(ctr2,-n2,1,'FaceColor',C4);%,'EdgeColor','none','FaceAlpha',0.7 axis off; h3 = gca; h3.YLim=h1.YLim; h3.YColor='none'; h3.XTickLabel=''; h3.TickDir='out'; h1.Position = [0.31 0.35 0.53 0.55]; h2.Position = [0.31 0.03 0.53 0.15]; h3.Position = [0.03 0.35 0.15 0.55]; %% 修图的标准格式代码 % text(0.5,0.9,'(a) XXX','fontsize',ssize,'FontName',fontnamed);%,'horiz','center' % title('1000'); % xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); % ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); % axis([0 10 0 7]);%XY轴的范围 % xticks([1 2 3 4 5 6 7 8 9 10]);%画格网的时候的小刻度 % xticklabels({'1','2','3','4','5','6','7','8','9','10'});%加x轴刻度标注 % yticks([1 2 3 4 5 6]);%画格网的时候的小刻度 % yticklabels({'1','2','3','4','5','6'});%加y轴刻度标注 set(gca,'linewidth',1,'fontsize',ssize,'FontName',fontnamed); % set(gca,'yticklabel',[]);%y轴不显示 % set(gca,'xticklabel',[]);%x轴不显示 grid on;box on;hold on; %% 画legend % hLegend1=legend('A1', 'A2', 'A3','Location', 'northeast','Box', 'off','Orientation','horizontal','fontsize',ssize,'FontName',fontnamed); %方法一 % kk=legend('h1'); % set(kk,'location','NorthEast','Box', 'off','fontsize',ssize,'FontName',fontnamed);%'orientation','horizontal', %方法二 % columnlegend(2,{'L1','L2','L3','L4','L5','L6'},'North');%表示一行放三个图例以及图例的位置 %% Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]); %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo1_scartter_double_bar'; print(figureHandle,[fileout,'.png'],'-r600','-dpng');
22 【MATLAB】科研绘图第二十二期三维瀑布图
%% Made by Lwcah(公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、视频号、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 绘制模板 close all;clear all;clc; %% 1行1列 %% 一幅图的时候figureWidth = 8.5;figureHeight = 8;调整这两个参数就可以 %定义整幅图出现的在电脑屏幕上的位置以及长和宽 %这里有必要解释一下为什么figureWidth要设置为8.5; %因详细解释需要很长的篇幅,请转公众号观看该天的文章。 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 15; figureHeight = 9; set(gcf, 'Units', figureUnits, 'Position', [28 10 figureWidth figureHeight]); % 注:28代表出图时图的左下角相对于整个电脑屏幕的左下角向左偏移28个单位,向上偏移20个单位。 % 可自行调节两个数字让图出在自己屏幕的某个位置 %% 定义字体和字号大小 %% 通常的SCI一般Arial字体和10字号通用 fontnamed='Arial';%字号名字 ssize=10;%字号大小 %% 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 一、信号分解并出图 % 加载数据 load data x=data(:,1); y=data(:,2); % 展开信号分解 [imf,residual]=emd(y); residual = residual.*ones(size(y))'; modes = [imf;residual]; %% 构造XYZ数据集 % X轴应该为Imf代表的分量数 [m,n] = size(modes);% m为几个IMF分量;n为分量的数据长度。 X1 = (1:1:m)'; X2 = ones(size(modes)); X = X1.*X2; X = X'; % Y轴应该为Imf代表的分量数据长度 Y1 = (1:1:n); Y2 = ones(size(modes)); Y = Y1.*Y2; Y = Y'; % Z轴呈现的为信号分解的数据(为了使画图更好看所以要调整顺序) Z = modes; Z = [modes(8,:);modes(7,:);modes(6,:);modes(5,:);modes(4,:);modes(3,:);modes(2,:);modes(1,:)]; %% 绘图 plot3(X,Y,Z,'linewidth',1); hTitle = title('Three-dimensional waterfall map'); hXLabel = xlabel('X'); hYLabel = ylabel('Y'); hZLabel = zlabel('Z'); %% 画图的标准格式代码 % text(0.5,0.9,'(a) XXX','fontsize',ssize,'FontName',fontnamed);%,'horiz','center' xlabel('X-axis','fontsize',ssize,'FontName',fontnamed); ylabel('Y-axis','fontsize',ssize,'FontName',fontnamed); zlabel('Z-axis','fontsize',ssize,'FontName',fontnamed); % axis([0 7 0 0.7 50 250]);%XYZ轴的范围 % xticks([1 2 3 4 5 6]);%画格网的时候的小刻度 % xticklabels({'1','2','3','4','5','6'});%加x轴刻度标注 % yticks([0.1 0.2 0.3 0.4 0.5 0.6]);%画格网的时候的小刻度 % yticklabels({'0.1','0.2','0.3','0.4','0.5','0.6'});%加y轴刻度标注 % zticks([50 100 150 200 250]);%画格网的时候的小刻度 % zticklabels({'50','100','150','200','250'});%加z轴刻度标注 set(gca,'linewidth',1,'fontsize',ssize,'FontName',fontnamed); % set(gca,'zticklabel',[]);%z轴不显示 % set(gca,'yticklabel',[]);%y轴不显示 % set(gca,'xticklabel',[]);%x轴不显示 grid on;box on;hold on; %% 画legend %方法一 kk=legend('L8','L7','L6','L5','L4','L3','L2','L1'); set(kk,'location','NorthEast','Box', 'off','fontsize',ssize,'FontName',fontnamed);%'orientation','horizontal', %方法二 % columnlegend(2,{'L1','L2','L3','L4','L5','L6'},'North');%表示一行放三个图例以及图例的位置 %% Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]) %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = '三维瀑布图'; print(figureHandle,[fileout,'.png'],'-r600','-dpng'); %% 一幅图的时候figureWidth = 8.5;figureHeight = 8;调整这两个参数就可以 %定义整幅图出现的在电脑屏幕上的位置以及长和宽 %这里有必要解释一下为什么figureWidth要设置为8.5; %因详细解释需要很长的篇幅,请转公众号观看2023-03-21的文章观看。 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 8.5; figureHeight = 14; set(gcf, 'Units', figureUnits, 'Position', [20 12 figureWidth figureHeight]); %% 展开信号分解 [imf,residual]=emd(y); residual = residual.*ones(size(y))'; modes = [imf;residual]; %信号重构 d1 = modes(1,:); d2 = modes(2,:); d3 = modes(3,:); d4 = modes(4,:); d5 = modes(5,:); d6 = modes(6,:); d7 = modes(7,:); d8 = modes(8,:); % d9 = modes(9,:); % d10 = modes(10,:); %% 画图 subplot(9,1,1) plot(x,y); ylabel('原信号');hold on; subplot(9,1,2) plot(x,d1); ylabel('d1');hold on; subplot(9,1,3) plot(x,d2); ylabel('d2');hold on; subplot(9,1,4) plot(x,d3); ylabel('d3');hold on; subplot(9,1,5) plot(x,d4); ylabel('d4');hold on; subplot(9,1,6) plot(x,d5); ylabel('d5');hold on; subplot(9,1,7) plot(x,d6); ylabel('d6');hold on; subplot(9,1,8) plot(x,d7); ylabel('d7');hold on; subplot(9,1,9) plot(x,d8); ylabel('d8');hold on; % subplot(11,1,10) % plot(x,d9); % ylabel('d9');hold on; % subplot(11,1,11) % plot(x,d10); % ylabel('d10');hold on; xlabel('X-axis'); %% 背景颜色 set(gcf,'Color',[1 1 1]) %% 图片输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = '原始数据分解各分量'; print(figureHandle,[fileout,'.png'],'-r600','-dpng');
23 【MATLAB】科研绘图第二十三期箭头图
%% 箭头图 %% Made by Lwcah (公众号:Lwcah) %% 公众号:Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah,感谢关注~ %% 更多MATLAB+SCI绘图教程敬请观看~ %% 清除变量 close all;clear all;clc; %% 1行1列 %% 一幅图的时候figureWidth = 8.5;figureHeight = 8;调整这两个参数就可以 %定义整幅图出现的在电脑屏幕上的位置以及长和宽 %这里有必要解释一下为什么figureWidth要设置为8.5; %因详细解释需要很长的篇幅,请转公众号观看该天的文章。 figureHandle = figure; figureUnits = 'centimeters'; figureWidth = 8.5; figureHeight = 6; set(gcf, 'Units', figureUnits, 'Position', [28 20 figureWidth figureHeight]); % 注:28代表出图时图的左下角相对于整个电脑屏幕的左下角向左偏移28个单位,向上偏移20个单位。 % 可自行调节两个数字让图出在自己屏幕的某个位置 %% 定义字体和字号大小 %% 通常的SCI一般Arial字体和10字号通用 fontnamed='华文中宋';%字号名字Arial ssize=10;%字号大小 %% 如果是中文论文可以相应的更改字号名字如下 % '华文中宋' '华文仿宋' '华文宋体' '华文新魏' '华文楷体' % '华文琥珀' '华文细黑' '华文行楷' '华文隶书' '宋体' % '方正姚体' '微软雅黑' '方正舒体' '新宋体' % '幼圆' '楷体' '等线' '隶书' '黑体' %% 给定绘图颜色 C1 = chinesecolors(343);%香水玫瑰 C2 = chinesecolors(150);%靛青 C3 = chinesecolors(523);%玫瑰灰 % C4 = chinesecolors(17);%鹅冠红 %% 加载数据 % 以MATLAB自带的北美上空气流的采样数据为例 % 向量 X 和 Y 表示每个箭头的起始点位置(经纬度),U 和 V 表示每个箭头的定向分量。 load('wind','x','y','u','v') X = x(11:22,11:22,1); Y = y(11:22,11:22,1); U = u(11:22,11:22,1); V = v(11:22,11:22,1); quiver(X,Y,U,V) % axis equal %% 修图的标准格式代码 % text(0.5,0.9,'(a) XXX','fontsize',ssize,'FontName',fontnamed);%,'horiz','center' % title('1000'); xlabel('经度/°','fontsize',ssize,'FontName',fontnamed); ylabel('纬度/°','fontsize',ssize,'FontName',fontnamed); % axis([0 10 0 7]);%XY轴的范围 % xticks([1 2 3 4 5 6 7 8 9 10]);%画格网的时候的小刻度 % xticklabels({'1','2','3','4','5','6','7','8','9','10'});%加x轴刻度标注 % yticks([1 2 3 4 5 6]);%画格网的时候的小刻度 % yticklabels({'1','2','3','4','5','6'});%加y轴刻度标注 set(gca,'linewidth',1,'fontsize',ssize,'FontName',fontnamed); % set(gca,'yticklabel',[]);%y轴不显示 % set(gca,'xticklabel',[]);%x轴不显示 grid on;box on;hold on; %% 画legend % hLegend1=legend('A1', 'A2', 'A3','Location', 'northeast','Box', 'off','Orientation','horizontal','fontsize',ssize,'FontName',fontnamed); %方法一 % kk=legend('h1'); % set(kk,'location','NorthEast','Box', 'off','fontsize',ssize,'FontName',fontnamed);%'orientation','horizontal', %方法二 % columnlegend(2,{'L1','L2','L3','L4','L5','L6'},'North');%表示一行放三个图例以及图例的位置 %% Matlab中有许多位置可以选择: % 'North' inside plot box near top % 'South' inside bottom % 'East' inside right % 'West' inside left % 'NorthEast' inside top right (default for 2-D plots) % 'NorthWest' inside top left % 'SouthEast' inside bottom right % 'SouthWest' inside bottom left % 'NorthOutside' outside plot box near top % 'SouthOutside' outside bottom % 'EastOutside' outside right % 'WestOutside' outside left % 'NorthEastOutside' outside top right (default for 3-D plots) % 'NorthWestOutside' outside top left % 'SouthEastOutside' outside bottom right % 'SouthWestOutside' outside bottom left % 'Best' least conflict with data in plot 与绘图中的数据冲突最小 % 'BestOutside' least unused space outside plot %% 背景颜色 set(gcf,'Color',[1 1 1]); %% 设置完毕后,按照所需分辨率、格式输出 figW = figureWidth; figH = figureHeight; set(figureHandle,'PaperUnits',figureUnits); set(figureHandle,'PaperPosition',[0 0 figW figH]); fileout = 'demo_quiver'; print(figureHandle,[fileout,'.png'],'-r600','-dpng');
1、感谢关注 Lwcah 的个人【公众号】(Lwcah),有关资源获取,请【公众号】(Lwcah)后台发送推文末的关键词,自助获取。
2、若要添加个人【微信号】,请后台发送关键词:微信号。
3、若要进【微信群】:Lwcah 科研技巧群 3。请添加个人【微信号】后进(大家沉浸式科研,广告勿扰),不定时更新科研技巧类推文。可以一起探讨科研,写作,文献,代码等诸多学术问题,我们一起进步。
记得关注,并设为星标哦~谢谢啦~
「万请尊重原创成果!!!」
「声明:本【公众号】(Lwcah)的原创成果,在未经允许的情况下,请勿用于任何商业用途!」
「And,今后我会尽可能出一些更高质量的推文与大家共享,再一次感谢大家的关注与支持~也特别感谢大家对本号的传播与分享,每天新增的关注都是我持续更新的动力!」
「您的每一次点赞,在看,关注和分享都是对我最大的鼓励~谢谢~」