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

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

文章目录

  • 引言
  • 三维图
  • 双轴图
  • 三维散点图
  • 完整复现代码

引言

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

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

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

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

三维图

在这里插入图片描述

%%  三维图
clc;clear;close all;
load('color_cell1.mat')
color_all=color_cell1{1,3};
load('三维曲面图测试数据.mat')num=100;   %插值数据
test_data_x=a(:,1);
test_data_y=a(:,2);
test_data_z=a(:,3);
test_data_C=a(:,4);test_data_x1=linspace(min(test_data_x),max(test_data_x),num);
test_data_y1=linspace(min(test_data_y),max(test_data_y),num);[test_data_x1,test_data_y1]=meshgrid(test_data_x1,test_data_y1);
% 插值
test_data_z1=griddata(test_data_x,test_data_y,test_data_z,test_data_x1,test_data_y1,'v4');
test_data_C1=griddata(test_data_x,test_data_y,test_data_C,test_data_x1,test_data_y1,'v4');
mesh(test_data_x1,test_data_y1,test_data_z1,test_data_C1)
%surf  填充,推荐当数据少的时候
hold on
xlabel('x')
ylabel('y')
zlabel('z')
color_all=color_cell1{1,1};
colormap(color_all)%%
clc;clear;close all;
load('color_cell1.mat')
color_all=color_cell1{1,3};
load('三维曲面图测试数据.mat')num=30;   %插值数据
test_data_x=a(:,1);
test_data_y=a(:,2);
test_data_z=a(:,3);
test_data_C=a(:,4);test_data_x1=linspace(min(test_data_x),max(test_data_x),num);
test_data_y1=linspace(min(test_data_y),max(test_data_y),num);[test_data_x1,test_data_y1]=meshgrid(test_data_x1,test_data_y1);
% 插值
test_data_z1=griddata(test_data_x,test_data_y,test_data_z,test_data_x1,test_data_y1,'v4');
test_data_C1=griddata(test_data_x,test_data_y,test_data_C,test_data_x1,test_data_y1,'v4');
% surf(test_data_z1)
sc=surfc(test_data_x1,test_data_y1,test_data_z1,'FaceAlpha',0.9,'EdgeColor','none');
sc(2).FaceColor='auto';
sc(2).EdgeColor='none';
sc(2).ZLocation=min(min(test_data_z1))-0.3*abs(max(max(test_data_z1))-min(min(test_data_z1)));
sc(2).FaceAlpha=0.8;
hold on
xlabel('x')
ylabel('y')
zlabel('z')
color_all=color_cell1{1,1};
colormap(color_all)
colorbar
%%
clc;clear;close all;
load('color_cell1.mat')
color_all=color_cell1{1,3};
load('三维曲面图测试数据.mat')num=100;   %插值数据
test_data_x=a(:,1);
test_data_y=a(:,2);
test_data_z=a(:,3);
test_data_C=a(:,4);test_data_x1=linspace(min(test_data_x),max(test_data_x),num);
test_data_y1=linspace(min(test_data_y),max(test_data_y),num);[test_data_x1,test_data_y1]=meshgrid(test_data_x1,test_data_y1);
% 插值
test_data_z1=griddata(test_data_x,test_data_y,test_data_z,test_data_x1,test_data_y1,'v4');
test_data_C1=griddata(test_data_x,test_data_y,test_data_C,test_data_x1,test_data_y1,'v4');
surfc(test_data_x1,test_data_y1,test_data_z1,test_data_C1,'EdgeColor','none')ax=gca;
light
material dull
ax.Projection='perspective';
%surf  填充,推荐当数据少的时候
hold on
% imagesc(test_data_z1)
% hold on
xlabel('x')
ylabel('y')
zlabel('z')
color_all=color_cell1{1,2};
colormap(color_all)
% surf(Z)
% hold on
% imagesc(Z)
%%
clc;clear;close all
a=peaks;
figure
map=mycolormappm(a);
colormap(map)
sc=surfc(a,'FaceAlpha',0.5,'EdgeColor','none');
zlim([-3 11])
sc(2).FaceColor='auto';
sc(2).EdgeColor='none';
sc(2).ZLocation='zmax';
sc(2).FaceAlpha=0.9;
%print('hhh','-dpng','-r400')

双轴图

在这里插入图片描述

%% 双轴图
clc;clear;close all
load('color_list.mat')
load('折线图测试数据.mat')
%
color_index=[1,3,4,7,8,9];  %颜色选取
fu={'-*','-^','-o','-d','-p'};   %符号
color_set=color_list(color_index,:);figure('Position', [300 100 800 400]);
yyaxis left;
set(gca,'ycolor',color_set(1,:));
plot(data_test4(1,:),fu{1,5},'LineWidth',2,'Color',color_set(1,:))yyaxis right;
set(gca,'ycolor',color_set(2,:));plot(data_test4(2,:),fu{1,4},'LineWidth',2,'Color',color_set(2,:))
set(gca,"FontSize",11,"LineWidth",1.2)xlabel('times')
ylabel('values')
title('title')
box off
legend('object1','object2')
legend Box off
set(gca,"FontName","Times New Roman","FontSize",13,"LineWidth",1.2)

三维散点图

在这里插入图片描述

%% 三维散点图
size_num=60;
X = 1:size_num;
Y = randperm(size_num);
Z = randperm(size_num);
ZF = randperm(size_num)*30;
% 导入所有颜色矩阵
load('color_cell1.mat')
mycolor1=color_cell1{1,1}(1:6:360,:);
% 开始绘制散点图
figure('color',[1 1 1],'Position',[200,100,600,500]);
for i=1:4ax1 = subplot(2,2,i);X = 1:size_num;Y = randperm(size_num);Z = randperm(size_num);ZF = randperm(size_num)*30;scatter3(X,Y,Z,ZF,mycolor1,'.');colormap(ax1,mycolor1);set(gca,'Linewidth',0.9);xlabel('X');ylabel('Y');zlabel('Z');title('三维散点');hold on
end

完整复现代码

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

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

  • 折线图
  • 多根折线图
  • 带误差棒的折线图
  • 单个误差带的折线图
  • 多个带误差带的折线图
  • 箱线图
  • 热图
  • 矩阵散点图
  • 三维图
  • 双轴图

相关文章:

  • C++漫游指南——字符串篇与内存分配篇
  • XML文件中`<![CDATA[...]]>` 的写法
  • 第五届图像、视觉与智能系统国际会议(ICIVIS 2025)参会通知
  • 【每日八股】复习 Redis Day3:Redis 的应用
  • 数据结构篇:线性表的另一表达—链表之单链表(下篇)
  • canvas动画:点随机运动 距离内自动连接成线 鼠标移动自动吸附附近的点
  • 销售与金融领域的数据处理与分析方法
  • 大连理工大学选修课——机器学习笔记(3):KNN原理及应用
  • 机器学习实操 第一部分 机器学习基础 第7章 集成学习与随机森林
  • 股指期货贴水对对冲的影响大吗?
  • Python实例题:Python实现简易局域网视频聊天工具
  • LeetCode算法题 (除自身以外数组的乘积)Day14!!!C/C++
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(12): ておき ます
  • 网页出现502的报错是什么意思?
  • 5、SpringBoot整合RabbitMQ
  • 楼宇智能化三、五章【期末复习】
  • Transformer-CVPR2025-线性注意力-Breaking the Low-Rank Dilemma of Linear Attention
  • 综合案例建模
  • 使用frpc链接内网的mysql
  • Python魔法函数深度解析
  • 北京亦庄启动青年人才创新创业生态示范区
  • 媒体:酒店、民宿临时毁约涨价,怎么管?
  • 中国体育报关注徐梦桃、王曼昱、盛李豪等获评全国先进工作者:为建设体育强国再立新功
  • 一场与纪录并行的伦敦马拉松,超40项新世界纪录诞生
  • 伤者升至80人,伊朗港口爆炸源头或为“危险品和化学品仓库”
  • “十四五”以来少数民族发展资金累计下达边疆省区252亿元