当前位置: 首页 > backend >正文

【数学建模国奖速成系列】优秀论文绘图复现代码(三)

文章目录

  • 引言
  • 箱线图
  • 面积图
  • 面积图2
  • 热图
  • 矩阵散点图
  • 完整复现代码

引言

数模比赛的绘图是非常重要得,这篇文章给大家分享我自己复现国奖优秀论文的代码,基于Matalab来实现,可以直接运行出图。之前的文章也有分享【折线图】【柱状图】的绘制,这篇文章主要分享【箱线图、热图、散点图】。
在这里插入图片描述
在这里插入图片描述

【数学建模美赛速成系列】O奖论文绘图复现代码

【数学建模国奖速成系列】优秀论文绘图复现代码(二)

箱线图

在这里插入图片描述

%% 箱线图
clc;clear;close all;
load data.mat;
% 坐标区域每组变量之间的标签
X ={' ','M1','M2','M3','M4'};
% 设置画图背景为白色
figure('color',[1 1 1],'Position',[200,200,600,400]);
% 设置配色
data1=[3.85785000000000	4.56787500000000	3.85785000000000	4.16950000000000
3.76887000000000	4.36350000000000	3.76887000000000	4.30075000000000
3.22700000000000	4.51150000000000	3.22700000000000	5.05450000000000];mycolor1 = [220 211 30;180 68 108;242 166 31;244 146 121;59 125 183]./255;% 开始绘图
box_figure = boxplot(data1,'color',[0 0 0],'Symbol','o');set(box_figure,'Linewidth',1.2);
boxobj = findobj(gca,'Tag','Box');for i = 1:size(data1,2)patch(get(boxobj(i),'XData'),get(boxobj(i),'YData'),mycolor1(i,:),'FaceAlpha',0.5,...'LineWidth',1.1);
end
hold on;xlabel('x');
ylabel('y');
title('title')% 设置坐标区域的参数
set(gca,"FontName","Times New Roman",'Fontsize',12,'Linewidth',1.1); %设置坐标区的线宽%X轴刻度与显示范围调整
set(gca,'Xlim',[0.5 5], 'Xtick', [0:1:5],'Xticklabel',X);
%Y轴刻度与显示范围调整% 对刻度长度与刻度显示位置调整
set(gca, 'TickDir', 'in', 'TickLength', [.008 .008]);

面积图

在这里插入图片描述

%% 面积图
clc;clear;close all;
%面积图
figure('Position',[200,200,600,400])
color=[0.925490196078431  0.705882352941177  0.690196078431373;
0.862745098039216  0.450980392156863  0.466666666666667;
0.823529411764706  0.635294117647059  0.619607843137255;
0.701960784313725  0.360784313725490  0.368627450980392;
0.611764705882353  0.698039215686275  0.788235294117647;
0.250980392156863  0.501960784313726  0.639215686274510;
0.368627450980392  0.462745098039216  0.552941176470588;
0.411764705882353  0.525490196078431  0.615686274509804];
x=[1:1:8];
y1=[0,2,2.5,2.7,3,2.4,1.9,1.6];
y2=[0,1.2,1.4,1.5,2,1.6,1.3,0.7];
y3=[0,1.2,1.4,1.3,1.5,1.3,1.0,0.6];
area(x,y1,'FaceAlpha',.7,'FaceColor',color(1,:),'EdgeColor',color(2,:),'LineWidth',2)
hold on
area(x+1,y1,'FaceAlpha',.7,'FaceColor',color(3,:),'EdgeColor',color(4,:),'LineWidth',2)
hold on
area(x+5,y2,'FaceAlpha',.6,'FaceColor',color(5,:),'EdgeColor',color(6,:),'LineWidth',2)
hold on
area(x+7,y3,'FaceAlpha',.6,'FaceColor',color(7,:),'EdgeColor',color(8,:),'LineWidth',2)
hold on
ax = gca;
ax.YLim=[0,4];
set(gca,"FontName","Times New Roman","FontSize",12,"LineWidth",1.5)
box off
xlabel('x')
ylabel('y')%magnifyOnFigure1  绘图放大

面积图2

在这里插入图片描述

%%面积图
clc;clear;close all;data_plot=xlsread("data3.xlsx");
data_plot1=-data_plot(:,2:end);figure('Position',[200,200,700,400])% color=[0.925490196078431  0.705882352941177  0.690196078431373;
% 0.862745098039216  0.450980392156863  0.466666666666667;
% 0.823529411764706  0.635294117647059  0.619607843137255;
% 0.701960784313725  0.360784313725490  0.368627450980392;
% 0.611764705882353  0.698039215686275  0.788235294117647;
% 0.250980392156863  0.501960784313726  0.639215686274510;
% 0.368627450980392  0.462745098039216  0.552941176470588;
% 0.411764705882353  0.525490196078431  0.615686274509804];color=[0.5216    0.6510    0.84710.7412    0.5333    0.61960.9176    0.4667    0.4902];x=1:size(data_plot1,1);
y1=data_plot1(:,1);
y2=data_plot1(:,2);
y3=data_plot1(:,3);area(x,y1,'FaceAlpha',.7,'FaceColor',color(1,:),'EdgeColor',color(1,:),'LineWidth',2)
hold on
area(x,y2,'FaceAlpha',.6,'FaceColor',color(2,:),'EdgeColor',color(2,:),'LineWidth',2)
hold on
area(x,y3,'FaceAlpha',.6,'FaceColor',color(3,:),'EdgeColor',color(3,:),'LineWidth',2)
hold on
alpha(0.3)
ax = gca;
set(gca,"FontName","Times New Roman","FontSize",13,"LineWidth",1.5)
box off
xlabel('x')
ylabel('y')

热图

在这里插入图片描述

%%  热图
clc;
clear;
close all;
%X0-1矩阵 
X = rand(13);
%获取矩阵的列数
X = round(X,2);
%制造全是1的向量
B = ones(1,size(X,1));
% 替换X矩阵对角元素,使其均为1
X(logical(eye(size(X))))=B;
data=X;
load('color_cell1.mat')
mycolor1=color_cell1{1,1};
% 开始绘制热图
% 命名所有变量名字,这里大家可以替换成自己需要的变量名
label_name = {'N1','N2','N3','N4','N5','N6','N7','N8','N9','N10','N11','N12','N13'};
xlabel_name = label_name;
ylabel_name = label_name;
% 热图函数为heatmap;开始绘制
hot_figure = heatmap(xlabel_name,ylabel_name,data,'FontName','Times New Roman','FontSize',10);
hot_figure.GridVisible = 'off';
% 设置坐标区名字与图的大标题
hot_figure.Title = 'Heated';
hot_figure.XLabel = 'xlabel';
hot_figure.YLabel = 'ylabel';
colormap(gca,mycolor1);

矩阵散点图

在这里插入图片描述

%%  矩阵散点图clc;
clear;
close all;
figure('Position',[200,200,600,400])
%X0-1矩阵 
X = rand(6);
%获取矩阵的列数
X = round(X,2);
%制造全是1的向量
B = ones(1,size(X,1));
% 替换X矩阵对角元素,使其均为1
X(logical(eye(size(X))))=B;
data=X;
color=[0.925490196078431  0.705882352941177  0.690196078431373;
0.862745098039216  0.450980392156863  0.466666666666667;
0.823529411764706  0.635294117647059  0.619607843137255;
0.701960784313725  0.360784313725490  0.368627450980392;
0.611764705882353  0.698039215686275  0.788235294117647;
0.250980392156863  0.501960784313726  0.639215686274510;
0.368627450980392  0.462745098039216  0.552941176470588;
0.411764705882353  0.525490196078431  0.615686274509804];[S,AX,BigAx,H,HAx] =plotmatrix(data,'*k');
% [S,AX,BigAx,H,HAx] = plotmatrix(X);
for i=1:size(data,2)H(i).FaceColor  = color(i,:);
end

完整复现代码

完整代码在文章最后可以获取~

在这里插入图片描述
在这里插入图片描述

另外国奖复现代码还包括:

  • 折线图
  • 多根折线图
  • 带误差棒的折线图
  • 单个误差带的折线图
  • 多个带误差带的折线图
  • 箱线图
  • 热图
  • 矩阵散点图
  • 三维图
  • 双轴图
http://www.xdnf.cn/news/3225.html

相关文章:

  • 4月30日星期三今日早报简报微语报早读
  • 关于PyCharm新版本出现大量空的`jcef_xx.log`文件的解决方法
  • 【Vue2】1-创建一个Vue实例
  • 麒麟、UOS系统在线打开word文件并提取修订痕迹
  • 机器视觉橡胶制品检测的应用
  • 【来自AI】RS485,Rs232,Modbus的区别和联系是什么
  • 小知识总结记录
  • 用Python构建自动驾驶传感器融合算法:从理论到实践
  • 第五届图像、视觉与智能系统国际会议(ICIVIS 2025)参会通知
  • Poco C++全面开发指南:网络应用开发
  • 综合开发-手机APP远程控制PLC1500柱灯的亮灭
  • 嵌入式开发高频面试题全解析:从基础编程到内存操作核心知识点实战
  • 基于UNet算法的农业遥感图像语义分割——补充版
  • Mysql数据库高可用解决方案-Mysql Router
  • 智能参谋部系统架构和业务场景功能实现
  • MCP Server 的 Stdio 与 SSE:两种通信方式的本质差异与技术选型指南
  • leetcode42-接雨水
  • OCR身份证识别(正反面)_个人证照OCR识别_开放API接口使用指南
  • iVX:数字化转型全场景技术革新与生态构建实践
  • 大连理工大学选修课——机器学习笔记(6):决策树
  • JCRQ1河马算法+消融实验!HO-CNN-LSTM-Attention系列四模型多变量时序预测,作者:机器学习之心
  • Linux架构篇、第1章_01架构的介绍HTTP HTTPS 协议全面解析
  • 【Axure教程】增删改饼图
  • PostgreSQL 中 VACUUM FULL 对索引的影响
  • 【TUST“码蹄杯”编程之星】4.30 每日一题
  • 抓取工具Charles配置教程(mac电脑+ios手机)
  • 算法四 习题 1.3
  • Vue 项目中运行 `npm run dev` 时发生的过程
  • 代码随想录算法训练营Day39
  • 数据科学与计算