plt绘制实测值与预测值的散点图

news2024/12/23 19:18:48

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator

"""
输出观测值和模型预测值之间的拟合曲线,即拟合模型
决定系数R2,有拟合曲线公式,有1:1线
"""
# R相关系数计算
def R2(target, predict):
    SSR = sum((predict - (target).mean())**2)
    SST = sum((target - (target).mean())**2)
    return SSR/SST

if __name__ == '__main__':
    # x: 是观测值; y: 是模型预测值
    x = np.random.random((100))
    y = (x+np.sin(np.random.random((100))))/2

    fig, ax = plt.subplots(figsize=(3, 3), dpi=100)
    # 绘制1:1对角线,linewidth线的粗细,ls线的格式,c线的颜色,
    ax.plot((0, 1), (0, 1), linewidth=1, transform=ax.transAxes, ls='--', c='k', label="1:1 line", alpha=0.5)
    # 绘制点,'o'点的形状,点的颜色,markersize点的大小
    ax.plot(x, y, 'o', c='black', markersize=5)

    # polyfit(x, y, 1),1代表线性拟合
    # parameter返回的是线性拟合线的斜率和截距
    parameter = np.polyfit(x, y, 1)
    f = np.poly1d(parameter)
    ax.plot(x, f(x), 'r-', lw=1)

    # 计算相关系数R
    r2 = R2(x,y)
    print(r2)

    # 那个框框的设置
    bbox = dict(boxstyle="round", fc='1', alpha=0.)
    bbox = bbox
    # 在图上安放R2和拟合曲线公式,0.05和0.87是位置偏移量,自己调试
    plt.text(0.05, 0.87, "$R^2=%.2f$\n$y=%.2fx+%.2f$" % ((r2), parameter[0], parameter[1]),
             transform=ax.transAxes, size=7, bbox=bbox)

    # 横轴的设置
    ax.set_xlabel('Measured values($g\cdot kg^{-1}$)', fontsize=7)
    ax.set_ylabel("Predicted values($g\cdot kg^{-1}$)", fontsize=7)

    # 设置图片title
    ax.tick_params(labelsize=7)
    ax.set_title("pre", fontsize=7)

    x_major_locator = MultipleLocator(0.1)
    ax.xaxis.set_major_locator(x_major_locator)
    y_major_locator = MultipleLocator(0.1)
    ax.yaxis.set_major_locator(y_major_locator)
    # 坐标轴
    ax.set(xlim=(-0.05, 1.05), ylim=(-0.05, 1.05))

    # plt.savefig("out.png", bbox_inches='tight')
    plt.show()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

笔记顶顶顶顶

这里写目录标题 基础**1. 说下计算机网络体系结构****2. OSI七层模型各自的功能是什么?**3. **说一下每一层对应的网络协议有哪些?**4. 那么数据在各层之间是怎么传输的呢? 应用层5. 从浏览器地址栏输入 url 到显示主页的过程?6. …

【24择校指南】南京大学计算机考研考情分析

南京大学(A) 考研难度(☆☆☆☆☆) 内容:23考情概况(拟录取和复试分数人数统计)、院校概况、23初试科目、23复试详情、参考书目、各科目考情分析、各专业考情分析。 正文2178字,预计阅读:6分…

计算机基础知识二

1、八进制 逢八进一。用8个计数符号表示,0、1、2、3、4、5、6、7。 2、八进制转二进制 规则:3位二进制转换1位八进制数。1位八进制数转换3位二进制数。 例如: 10011101B , 0.1101010011B 转换成八进制数。 3、十六进制 用16个计数符号0、1、…

【刷题笔记8.10】LeetCode题目:有效括号

LeetCode题目:有效括号 1、题目描述: 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同…

深度学习阶段性回顾

本文针对过去两周的深度学习理论做阶段性回顾,学习资料来自吴恩达老师的2021版deeplearning.ai课程,内容涵盖深度神经网络改善一直到ML策略的章节。视频链接如下:吴恩达深度学习视频链接 (注:本文出自深度学习初学者&a…

SAP ABAP 批量CC01 创建ECN的物料和BOM 清单(RFC: CCAP_ECN_CREATE)

效果如下: 源代码: *&---------------------------------------------------------------------* *& Report ZCYCLE054 *&---------------------------------------------------------------------* *&批量CC01 *&----------------…

docker的服务/容器缺少vim问题

背景/问题: docker的服务/容器缺少vim问题 在docker的mysql服务中安装Vim 1、执行apt-get update root6d8d17e320a0:/# apt-get update问题:文件下载失败 Err:1 http://security.debian.org/debian-security buster/updates InRelease Temporary failure resolv…

MyBatis的XML配置文件

Mybatis的开发有两种方式: 注解 XML配置文件 通过XML配置文件的形式来配置SQL语句,这份儿XML配置文件在MyBatis当中也称为XML映射文件。 导学:在MyBatis当中如何来定义一份儿XML映射文件? 在MyBatis当中,定义XML…

uniapp文件下载并预览

大概就是这样的咯&#xff0c;文件展示到页面上&#xff0c;点击文件下载并预览该文件&#xff1b; 通过点击事件handleDownLoad(file.path)&#xff0c;file.path为文件的地址&#xff1b; <view class"files"><view class"cont" v-for"(…

MD-MTSP:光谱优化算法LSO求解多仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、光谱优化算法LSO 光谱优化算法&#xff08;Light Spectrum Optimizer&#xff0c;LSO&#xff09;由Mohamed Abdel-Basset等人于2022年提出。 参考文献&#xff1a; [1]Abdel-Basset M, Mohamed R, Sallam KM, Chakrabortty RK. Light Spectrum Optimizer: A Novel Physi…

数据结构 — 时间复杂度、空间复杂度

前言 数据结构_空间复杂度_时间复杂度讲解_常见复杂度对比 本文介绍数据结构中的时间复杂度和空间复杂度 ***文章末尾&#xff0c;博主进行了概要总结&#xff0c;可以直接看总结部分*** 博主博客链接&#xff1a;https://blog.csdn.net/m0_74014525 点点关注&#xff0c;后期…

STL文件格式详解【3D】

STL&#xff08;StereoLithography&#xff1a;立体光刻&#xff09;文件是 3 维表面几何形状的三角形表示。 表面被逻辑地细分或分解为一系列小三角形&#xff08;面&#xff09;。 每个面由垂直方向和代表三角形顶点&#xff08;角&#xff09;的三个点来描述。 切片算法使用…

YOLOv5修改注意力机制CBAM

直接上干货 CBAM注意力机制是由通道注意力机制&#xff08;channel&#xff09;和空间注意力机制&#xff08;spatial&#xff09;组成。 传统基于卷积神经网络的注意力机制更多的是关注对通道域的分析&#xff0c;局限于考虑特征图通道之间的作用关系。CBAM从 channel 和 sp…

Opencv将数据保存到xml、yaml / 从xml、yaml读取数据

Opencv将数据保存到xml、yaml / 从xml、yaml读取数据 Opencv提供了读写xml、yaml的类实现&#xff1a; 本文重点参考&#xff1a;https://blog.csdn.net/cd_yourheart/article/details/122705776?spm1001.2014.3001.5506&#xff0c;并将给出文件读写的具体使用实例。 1. 官…

Android多渠道打包+自动签名工具 [原创]

多渠道打包自动签名工具 [原创] github源码&#xff1a;github.com/G452/apk-packer 如果觉得有帮助可以点个小星星支持一下&#xff0c;万分感谢&#xff01; 使用步骤&#xff1a; 1、在apk-packer.exe目录内放入打包需要的配置&#xff1a; 1&#xff09;签名文件.jks2&am…

undefined reference to `dlopen‘ ‘SSL_library_init‘ `X509_certificate_type‘

使用Crow的时候需要注意crow依赖asio依赖OpenSSL&#xff0c;asio要求1.22以上版本&#xff0c;我使用的是1.26.0&#xff1b; 这个版本的asio要求OpenSSL是1.0.2&#xff0c;其他版本我得机器上编不过&#xff0c;ubuntu上默认带的OpenSSL是1.1.1; 所以我下载了OPENSSL1.2.0重…

【Linux】TCP协议的相关实验——深入理解

TCP相关实验 理解CLOSE_WAIT状态 当客户端和服务器在进行TCP通信时&#xff0c;如果客户端调用close函数关闭对应的文件描述符&#xff0c;此时客户端底层操作系统就会向服务器发起FIN请求&#xff0c;服务器收到该请求后会对其进行ACK响应。 但如果当服务器收到客户端的FIN…

【LeetCode每日一题】——205.同构字符串

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 205.同构字符串 四【题目描述】 给定两个字符…

Appium - 移动端自动测试框架,如何入门?

Appium是一个开源跨平台移动应用自动化测试框架。 既然只是想学习下Appium如何入门&#xff0c;那么我们就直奔主题。文章结构如下&#xff1a; 1、为什么要使用Appium&#xff1f; 2、如何搭建Appium工具环境?(超详细&#xff09; 3、通过demo演示Appium的使用 4、Appium如何…

【C++常见八股1】内存布局 | 参数压栈 | 构造析构调用 | 空类大小

内存布局 .text 代码段&#xff1a;存放二进制代码、字符串常量.data 段&#xff1a;存放已初始化全局变量、静态变量、常量.bss 段&#xff1a;未初始化全局变量&#xff0c;未初始化静态变量heap 堆区&#xff1a;new/malloc 手动分配的内存&#xff0c;需要手动释放stack 栈…