Matlab 使用subplot绘制多个子图,一元拟合

实现效果:

clc; clear;filename = 'sri.xlsx'; % 确认文件路径data = readtable(filename);
datavalue = data{:,2:end};
datavalue = datavalue';fig = figure('Position', [0, 0, 1500, 900]);
indexString = ["(a)","(b)","(c)","(d)","(e)","(f)","(g)",];
subplotName = ["h1","h2","h3","h4","h5","h6","h7"];
for i = 1:7subplot(4,2,i);years = datavalue(:,1); values = datavalue(:,i+1);coefficients = polyfit(years, values, 1);k = coefficients(1);b = coefficients(2);% 计算Y轴上下限值,将其设置为最大值和最小值的 1.1 倍y_max = max(values) * 1.3;y_min = min(values) * 1.3;plot(years, values, 'o-', 'MarkerSize', 4, 'MarkerFaceColor', '#58CCFA', 'Color', '#58CCFA', 'LineWidth', 1.5);hold on;plot(years, k*years + b, 'r--',  'LineWidth', 1);%拟合线xlim([1960 2018]);xtick_values = 1960:10:2010;  if ~ismember(2018, xtick_values)xtick_values = [xtick_values, 2018];  endxticks(xtick_values);ylabel('SRI', 'FontSize', 12);ylim([y_min y_max]); % 设置Y轴上下限值grid on;yrange = ylim; % 获取当前子图的y轴值域范围text(1961, 0.9 * yrange(2),indexString(i), 'FontSize', 14, 'HorizontalAlignment', 'left', 'VerticalAlignment', 'top'); % 调整文本位置坐标ax = gca; ax.FontSize = 12; annotation('textbox', [ax.Position(1), ax.Position(2), ax.Position(3), ax.Position(4)], 'String', sprintf('k = %.4f, b = %.2f', k, b), 'FontSize', 14, 'EdgeColor', 'none', 'Color', 'black', 'HorizontalAlignment', 'center'); % 调整注释框位置hold off;
end% 在第 8 个子图位置添加文本
subplot(4,2,8);
str = ["(a):华北湿润半湿润暖     (b):西北荒漠地区";..."(c):华中华南湿润亚热     (d):东北湿润半湿润温";..."(e):内蒙草原地区            (f):青藏高原";..."(g):华南湿润热带地区"];text(0.15, 0.4, sprintf('%s\n', str{:}), 'FontSize', 14, 'HorizontalAlignment', 'left', 'VerticalAlignment', 'middle');
axis off; % 关闭坐标系显示print(fig, 'data.tif', '-dtiff', '-r2000'); % 保存为 TIFF 文件,300 DPI 分辨率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/645199.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue+springboot实验个人信息,修改密码,忘记密码功能实现

前端部分 新增Person(个人页面),Password(修改密码页面),还需要对Manager,login页面进行修改 router文件夹下的index.js: import Vue from vue import VueRouter from vue-router i…

深度学习算法简介(一)

目录 ⛳️推荐 前言 1、深度神经网络(DNN) 2、卷积神经网络(CNN) 3、残差网络(ResNet) 4、LSTM(长短时记忆网络) 5、Word2Vec 6、Transformer 7、生成对抗网络(…

JVM(java虚拟机 详解三个主要的话题:1.JVM 中的内存区域划分2.JVM 的类加载机制3.JVM 中的垃圾回收算法)

jdk java开发工具包 jre java运行时环境 jvm java虚拟机 JDK、JRE、JVM之间的关系? JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。…

Day14-Java进阶-字符缓冲流转换流序列化流打印流Properties 集合

1. 字符缓冲流 1.1 字符缓冲流构造方法 package com.itheima.buffered;import java.io.*;public class BufferedStreamDemo1 {/*字符缓冲流的基本使用注意: 缓冲流本身不具备读写功能, 只是对普通的流对象做包装构造方法:BufferedReader(Reader reader)BufferedWriter(Writer …

【IC设计】奇数分频与偶数分频 电路设计(含讲解、RTL代码、Testbench代码)

文章目录 原理分析实现和仿真偶数分频的电路RTL代码偶数分频的电路Testbench代码偶数分频的电路仿真波形占空比为50%的三分频电路RTL代码占空比为50%的三分频电路Testbench代码占空比为50%的三分频电路仿真波形 参考资料 原理分析 分频电路是将给定clk时钟信号频率降低为div_c…

内容平台加码旅游:谁是下一个网红城市

“姐妹们,你们五一啥安排?”早在3月中旬,小威就在询问两个好朋友的行程,“不早早问,怕约不上你们。” 去年以来,国人的旅游需求快速复苏,像小威的朋友一样,之前爱玩的、不爱玩的似乎…

3月8日是星期六

突然有查询特殊条件日期的需求。 <html> <title>3月8日是星期六</title> <center> <h1 id"h1"></h1> <div id"div"></div> </center> <script> var weekday [星期日, 星期一, 星期二, 星期…

pyTorch框架部署实践

相关代码链接见文末 1.所需基本环境配置 首先&#xff0c;我们需要一个预先训练好的模型以及相应的配置。接下来&#xff0c;为了实际应用这个模型&#xff0c;我们必须搭建一个功能强大的服务器。这台服务器的核心任务是加载我们的模型&#xff0c;并能够接收用户上传的图片。…

线程池嵌套导致的死锁问题

1、背景 有一个报告功能&#xff0c;报告需要生成1个word&#xff0c;6个excel附件&#xff0c;总共7个文件&#xff0c;需要记录报告生成进度&#xff0c;进度字段jd初始化是0&#xff0c;每个文件生成成功进度加1&#xff0c;生成失败就把生成状态置为失败。 更新进度语句&…

基于深度学习网络的十二生肖图像分类matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................... for i 1:16subplot(4,4,…

HubSpot功能有哪些?

HubSpot是一个功能丰富的平台&#xff0c;主要涵盖市场营销、销售、客户服务和客户关系管理&#xff08;CRM&#xff09;等领域。以下是HubSpot的一些主要功能&#xff1a; 市场营销自动化&#xff1a;HubSpot允许用户制定和执行多渠道的市场营销活动&#xff0c;包括创建和管…

为什么光电测径仪质量更稳定可靠?

光电测径仪与激光扫描式测径仪都是目前常用的外径自动化测量设备&#xff0c;他们能实现的功能相同&#xff0c;但为什么说光电测径仪更稳定可靠&#xff0c;下面一起来看一下。 光电测径仪测量原理 测头部件是测径仪的核心部件&#xff0c;它的作用是将被测物在CCD芯片上清晰…