python根据坐标点拟合曲线绘图

python根据坐标点拟合曲线绘图

任何程序错误,以及技术疑问或需要解答的,请添加 

 

这里写图片描述

import os
import numpy as np
from scipy import log
from scipy.optimize import curve_fit
import matplotlib.pyplot as plt
import math
from sklearn.metrics import r2_score
# 字体
plt.rcParams['font.sans-serif']=['SimHei']# 拟合函数
def func(x, a, b):
#    y = a * log(x) + by = x/(a*x+b)return y# 拟合的坐标点
x0 = [2, 4, 8, 10, 24, 28, 32, 48]  
y0 = [6.66,8.35,10.81,11.55,13.63,13.68,13.69,13.67]# 拟合,可选择不同的method
result = curve_fit(func, x0, y0,method='trf')
a, b = result[0]  # 绘制拟合曲线用
x1 = np.arange(2, 48, 0.1)  
#y1 = a * log(x1) + b
y1 = x1/(a*x1+b)x0 = np.array(x0)
y0 = np.array(y0)
# 计算r2
y2 = x0/(a*x0+b)
#y2 = a * log(x0) + b
r2 = r2_score(y0, y2)    #plt.figure(figsize=(7.5, 5)) 
# 坐标字体大小
plt.tick_params(labelsize=11)  # 原数据散点
plt.scatter(x0,y0,s=30,marker='o')# 横纵坐标起止
plt.xlim((0, 50))
plt.ylim((0, round(max(y0))+2))# 拟合曲线
plt.plot(x1, y1, "blue")  
plt.title("标题",fontsize=13) 
plt.xlabel('X(h)',fontsize=12)  
plt.ylabel('Y(%)',fontsize=12)  # 指定点,y=9时求x
p = round(9*b/(1-9*a),2)
#p = b/(math.log(9/a))
p =  round(p, 2)
# 显示坐标点
plt.scatter(p,9,s=20,marker='x')
# 显示坐标点横线、竖线
plt.vlines(p, 0, 9, colors = "c", linestyles = "dashed")
plt.hlines(9, 0, p, colors = "c", linestyles = "dashed")
# 显示坐标点坐标值
plt.text(p, 9, (float('%.2f'% p),9),ha='left', va='top', fontsize=11)
# 显示公式
m = round(max(y0)/10,1)
print(m)
plt.text(48, m, 'y= x/('+str(round(a,2))+'*x+'+str(round(b,2))+')', ha='right',fontsize=12)  
plt.text(48, m, r'$R^2=$'+str(round(r2,3)), ha='right', va='top',fontsize=12)  # True 显示网格  
# linestyle 设置线显示的类型(一共四种)  
# color 设置网格的颜色  
# linewidth 设置网格的宽度   
plt.grid(True, linestyle = "--", color = "g", linewidth = "0.5")
plt.show()

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

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

相关文章

RabbitMQ交换器Exchange介绍与实践

导读 有了Rabbit的基础知识之后(基础知识详见:深入解读RabbitMQ工作原理及简单使用),本章我们重点学习一下Rabbit里面的exchange(交换器)的知识。 交换器分类 RabbitMQ的Exchange(交换器&…

二、WIN10 64位下Pycharm打包.py程序为可执行文件exe

Win10在开发环境下,我们可以直接通过IDE (Pycharm)直接运行,当我们完成一个程序时,我们需要在独立环境下执行,因此我们需要将.py程序打包成windows环境下可直接执行的exe文件。 操作步骤如下: 1.在Pycharm中安装插件PyInstaller 搜索需要添加的PyInstaller模块,并安…

受限玻尔兹曼机(RBM)与python在Tensorflow的实现

简介 受限玻尔兹曼机是一种无监督,重构原始数据的一个简单的神经网络。 受限玻尔兹曼机先把输入转为可以表示它们的一系列输出;这些输出可以反向重构这些输入。通过前向和后向训练,训练好的网络能够提取出输入中最重要的特征。 为什么RBM很…

RabbitMQ事务和Confirm发送方消息确认——深入解读

引言 根据前面的知识(深入了解RabbitMQ工作原理及简单使用、Rabbit的几种工作模式介绍与实践)我们知道,如果要保证消息的可靠性,需要对消息进行持久化处理,然而消息持久化除了需要代码的设置之外,还有一个…

十四、PyCharm开发Python利用WMI修改电脑IP、DNS

1.在PyCharm开发中安装WMI插件 搜索需要添加的WM插件,并安装,安装成功后会有提示!

Python 3深度置信网络(DBN)在Tensorflow中的实现MNIST手写数字识别

任何程序错误,以及技术疑问或需要解答的,请扫码添加作者VX:1755337994 使用DBN识别手写体 传统的多层感知机或者神经网络的一个问题: 反向传播可能总是导致局部最小值。 当误差表面(error surface)包含了多个凹槽,当你…

PHP安装ZIP扩展

2019独角兽企业重金招聘Python工程师标准>>> 下载ZIP扩展包 wget http://pecl.php.net/get/zip-1.10.2.tgztar zxvf zip-1.10.2.tgz 进入解压后的目录,执行 /usr/local/php/bin/phpize 编译 ./configure --with-php-config/usr/local/php/bin/php-config…

使用Docker部署RabbitMQ集群

使用Docker部署RabbitMQ集群 概述 本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘。 Windows10上Docker的安装 因为本人用的是Windows系统,所有推…

Python官方中文开发文档

Python官方中文开发文档: https://docs.python.org/zh-cn/3/

perl anyevent socket监控web日志server

上篇已经讲过client端的CODE这部分code主要用来接收client端发送来的日志,从数据库中读取reglar然后去匹配.如果出现匹配则判断为XSS***.server端的SOCKET接收用了coro相关的模块.配置文件仿照前一篇博客读取即可.#!/usr/bin/perl use warnings; use strict; use AnyEvent; use…

Tensorflow No module named ‘tensorflow.examples.tutorials‘解决办法,有用

任何程序错误,以及技术疑问或需要解答的,请扫码添加作者VX::1755337994 1 .利用TensorFlow代码下载MNIS丁 TensorFlow 提供了一个库, 可以直接用来自动下载与安装MNIST , 见如下代码: 代码5-1 M…

你不知道的RabbitMQ集群架构全解

你不知道的RabbitMQ集群架构全解 前言 本文将系统的介绍一下RabbitMQ集群架构的特点、异常处理、搭建和使用中要注意的一些细节。 知识点 一、为什么使用集群? 二、集群的特点 三、集群异常处理 四、集群节点类型 五、集群搭建方法 六、镜像队列 一、为什…

IPFS搭建HTTPS去中心化网站,真实可用

、 首先,我们需要知道IPFS是什么? 其实IPFS是一种协议,全称为Inter-Planetary File System,是一种点对点超媒体协议,旨在取代旧的HTTP,使网络更快,更安全,更开放。 我们平常都通过…

Ubuntu 18.04.1 搭建Java环境和HelloWorld

一、搭建Java环境 系统环境 Ubuntu 18.04.1JDK 8IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择相应的版本,点击jdk,进入下载页面,选择“Linux x64”版本的后缀为…

Python openpyxl打开有公式的excel表取值错误的解决办法,Python openpyxl获取excel有公式的单元格的数值错误,Python操作excel(.xlsx)封装类

Python openpyxl打开有公式的表格,如果直接读取,会出现有公式的单元格为空或零的情况。 参见: https://blog.csdn.net/weixin_45903952/article/details/105073611?utm_mediumdistribute.wap_relevant.none-task-blog-title-3 wb openpyxl…

Python实现GCS bucket断点续传功能,分块上传文件

Python实现GCS bucket断点续传功能,分块上传文件 环境:Python 3.6 我有一个关于使用断点续传到Google Cloud Storage的上传速度的问题。我已经编写了一个Python客户端,用于将大文件上传到GCS(它具有一些特殊功能,这…

Spring Boot 最佳实践(一)快速入门

一、关于Spring Boot 在开始了解Spring Boot之前,我们需要先了解一下Spring,因为Spring Boot的诞生和Spring是息息相关的,Spring Boot是Spring发展到一定程度的一个产物,但并不是Spring的替代品,Spring Boot是为了让程…

Wo Cloud CentOS 挂载磁盘小计

为什么80%的码农都做不了架构师?>>> 涉及到的命令:fdisk/mkfs/mount 列出当前磁盘[rootvity ~]# fdisk -lDisk /dev/vda: 21.5 GB, 21474836480 bytes 16 heads, 63 sectors/track, 41610 cylinders Units cylinders of 1008 * 512 516096…

PC通过IE浏览器对华为S5700交换机进行WEB管理

1.PC和交换机通过网线连接,通过CONSOLE线缆连接华为S5700交换机,使用如下命令查看是否有web.7z文件 <Quidway>dir2.新建VLAN和配置VLAN的IP <Quidway>system-view [Quidway]<

最邻近插值、双线性插值、三次卷积插值最通俗入门理论解析,论文材料

如有任何问题&#xff0c;请联系VX&#xff1a;1755337994 前言 图像处理中有三种常用的插值算法&#xff1a; 最邻近插值 双线性插值 双立方&#xff08;三次卷积&#xff09;插值 其中效果最好的是双立方&#xff08;三次卷积&#xff09;插值&#xff0c;本文介绍它的原…