当前位置: 首页 > 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

完整复现代码

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

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

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

相关文章:

  • Access开发:轻松一键将 Access 全库表格导出为 Excel
  • 游戏引擎学习第250天:# 清理DEBUG GUID
  • 栈与队列 Part 7
  • String、StringBuffer、StringBuilder 的区别
  • SpringMVC知识点总结(速查速记)
  • SIFT特征点检测
  • 产品经理.产品设计.产品设计工具
  • 什么是美颜SDK?美颜SDK安卓与iOS端开发指南
  • 【11408学习记录】英语书信通知写作模板大全:5个高分句式+使用场景解析,速存每日一句拆解练习!
  • 组网技术知识点
  • electron+vite+vue3 快速入门教程
  • C++23 std::invoke_r:调用可调用 (Callable) 对象 (P2136R3)
  • Postgresql源码(144)LockRelease常规锁释放流程分析
  • Linux -- SysremV 共享内存通信
  • 环形链表的约瑟夫问题
  • 从生成到上线:飞算JavaAl工程化能力拆解(含K8s部署脚本自动生成)
  • STM32printf重定向到串口含armcc和gcc两种方案
  • 高并发内存池(五):性能测试与性能优化
  • Java实现归并排序算法
  • 《机器学习中的过拟合与模型复杂性:理解与应对策略》
  • 量化交易之数学与统计学基础2.3——线性代数与矩阵运算 | 线性方程组
  • windows 下 oracle 数据库的备份与还原
  • SQL Server连接异常 证书链是由不受信任的颁发机构颁发的
  • 垃圾收集GC的基本理解
  • 服务容错治理框架resilience4jsentinel基础应用---微服务的限流/熔断/降级解决方案
  • 通过IP计算分析归属地
  • 知识图谱系列(1):基础概念与发展历程
  • ubuntu22.04出现VFS: Unable to mount root fs on unknown-block(0,0)
  • 网络规划和设计
  • ceph存储原理