python编程:使用pyecharts绘制拟合曲线图

        pyecharts库是python下实现的echarts图表绘制库,接下来,我们使用pyecharts来绘制一条曲线,来体验一下pyecharts的基本使用效果。

        1、首先,我们要安装下pyecharts库,在pycharm终端输入安装命令:

                                        pip install pyecharts

   

 2、然后在程序中引入相关的库。    

from pyecharts.charts import Line
from pyecharts.options import VisualMapOpts,LabelOpts
from pyecharts import options as opts

3、生成我们要拟合的曲线数据

num = range(1,11)
D = 10
data_list1 = []#设置两个列表接收x,y的值
data_list2 = []
for i in num:
    x = i/10
    y = 1/(D*(1-x)+x)#需要拟合曲线的表达式# print(f"{x},{y}")
    data_list1.append(x)
    data_list2.append(y)#数组中填入需要的x,yprint(F"{data_list1}")

x_data = data_list1
y_data = data_list2

        其中,我们首先定义了一个列表num,列表中你的值为【1,10】,然后定义两个列表data_list1和data_list2,分别用来存放x自变量的值和因变量y的值。

        然后循环num,生成x和y的值,其中x变量为0.1-1之间的值,y为1/(D*(1-x)+x),然后将生成的值分别放入到列表data_list1和data_list2

        循环完毕后再将data_list1和data_list2分别赋值给x_data和y_data

4、新建一个line对象,用于绘制曲线。然后设置曲线的x和y分别为我们上面生成好的x_data和y_data

line = Line()
line.add_xaxis(x_data)
line.add_yaxis("模拟",y_data,label_opts=LabelOpts(is_show=False), is_smooth=True)

 其中label_opts=LabelOpts(is_show=False)用于设置不显示y具体的数值在图形上,is_smooth设置绘制出来的线条是平滑的,而不是折线。

5、设置全局属性。

line.set_global_opts(
        visualmap_opts=VisualMapOpts(is_show=True),
         xaxis_opts=opts.AxisOpts(
             type_="value",
             name="x",
             is_show=True,
             is_scale=True,
             name_location='middle',
             min_=0.1,
             max_=1,
         ) )

         其中,我们设置visualmap_opts属性为可见,表示绘制出来的图形是否显示视觉组件,这个组件会在图形的旁边显示,通过这个组件可以控制图形的一个显示,当数据量比较多的时候。在这里作用不大,因为数据单一。

       其次,xaxis_opts参数设置x轴的一些属性,name为x轴上显示的文本,最重要的是min_和max_属性,表示x轴的数值范围,如果不设置,显示的数据会有问题。这里x轴的数据是从0.1到1。

6、最后调用render方法,执行完后会在项目目录下生成一个render.html文件:

line.render()

 

7、打开这个render.html文件,我们可以看到生成的html代码:

        

 如果你做过网页开发,使用过echarts,那么这个文件中你的代码你会很熟悉。

我们鼠标点击文件内部的内容,会有浏览器图标显示出来:

根据自己电脑上已安装的浏览器,选择一个浏览器打开,这里我用第一个谷歌浏览器打开看看:

 

可以看到,我们拟合的曲线就绘制出来啦。

8、最后全部的代码共享给大家。

from pyecharts.charts import Line
from pyecharts.options import VisualMapOpts,LabelOpts
from pyecharts import options as opts

num = range(1,11)
D = 10
data_list1 = []#设置两个列表接收x,y的值
data_list2 = []
for i in num:
    x = i/10
    y = 1/(D*(1-x)+x)#需要拟合曲线的表达式# print(f"{x},{y}")
    data_list1.append(x)
    data_list2.append(y)#数组中填入需要的x,yprint(F"{data_list1}")

x_data = data_list1
y_data = data_list2

line = Line()
line.add_xaxis(x_data)
line.add_yaxis("模拟",y_data,label_opts=LabelOpts(is_show=False), is_smooth=True)
line.set_global_opts(
        visualmap_opts=VisualMapOpts(is_show=True),
         xaxis_opts=opts.AxisOpts(
             type_="value",
             name="x",
             is_show=True,
             is_scale=True,
             name_location='middle',
             min_=0.1,
             max_=1,
         ) )

line.render()


 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pytorch实现深度神经网络与训练

目录 1. 随机梯度下降算法 2.优化器 3. 损失函数 3.1 均方误差损失 3.2 交叉熵损失 4.防止过拟合 4.1 过拟合的概念 4.2 防止过拟合的方法 5. 网络参数初始化 5.1 网络参数初始化方法 5.2 参数初始化方法应用实例 1.针对某一层的权重进行初始化 2.针对一个网络的权…

基于ESP32做低功耗墨水屏时钟

基于ESP32做低功耗墨水屏时钟电子墨水屏概述ESP32实验低功耗电子时钟功能描述接线开发实验结果电子墨水屏 概述 电子墨水是一种革新信息显示的新方法和技术。和传统纸差异是电子墨水在通电时改变颜色,并且可以显示变化的图象,像计算器或手机那样的显示。…

使用ArcGIS为科研论文制作正确、美观、详细的插图

科研论文中的插图,如果图中包含地理信息,那么首先需要在图中标明指北针、比例尺、图例,然后在此基础上再对作的图进一步的美化和修改。 来源:https://doi.org/10.1016/j.uclim.2022.101326 这种就是属于是最常见的研究区概况图&a…

(只需五步)注册谷歌账号详细步骤,解决“此电话号码无法验证”问题

目录 第一步:打开google浏览器 第二步:设置语言为英语(美国) 第三步:点击重新启动,重启浏览器 第四步:开始注册 第五步,成功登录google账号! 如果出现这样的原因&…

java多线程之线程安全(重点,难点)

线程安全1. 线程不安全的原因:1.1 抢占式执行1.2 多个线程修改同一个变量1.3 修改操作不是原子的锁(synchronized)1.一个锁对应一个锁对象.2.多个锁对应一个锁对象.2.多个锁对应多个锁对象.4. 找出代码错误5. 锁的另一种用法1.4 内存可见性解决内存可见性引发的线程安全问题(vo…

乐观锁和悲观锁 面试题

Mysql的乐观锁和悲观锁 实现方式加锁时机常见的调用方式优势不足适用场景乐观锁开发自定义更新数据的时候sql语句中进行version的判断高并发容易出现不一致的问题高并发读,少写悲观锁Mysql内置查询数据的开始select * for update保证一致性低并发互联网高并发场景极…

linux实验之shell编程基础

这世间,青山灼灼,星光杳杳,秋风渐渐,晚风慢慢 shell编程基础熟悉shell编程的有关机制,如标准流。学习Linux环境变量设置文件及其内容/etc/profile/etc/bashrc/etc/environment~/.profile~/.bashrc熟悉编程有关基础命令…

JVM类加载机制

文章目录定义类加载过程加载链接验证准备解析初始化类加载器双亲委派模型定义 Java 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这个过程被称为虚拟机的类…

有手就行 -- 搭建图床(PicGo+腾讯云)

🍳作者:贤蛋大眼萌,一名很普通但不想普通的程序媛\color{#FF0000}{贤蛋 大眼萌 ,一名很普通但不想普通的程序媛}贤蛋大眼萌,一名很普通但不想普通的程序媛🤳 🙊语录:多一些不为什么的…

2023最新最详细【接口测试总结】

序章 ​ 说起接口测试,网上有很多例子,但是当初做为新手的我来说,看了不不知道他们说的什么,觉得接口测试,好高大上。认为学会了接口测试就能屌丝逆袭,走上人生巅峰,迎娶白富美。因此学了点开发…

嵌入式学习笔记——SysTick(系统滴答)

系统滴答前言SysTick概述SysTick是个啥SysTick结构框图1. 时钟选择2.计数器部分3.中断部分工作一个计数周期(从重装载值减到0)的最大延时时间工作流程SysTick寄存器1.控制和状态寄存器SysTick->CTRL2.重装载值寄存器SysTick->LOAD3.当前值寄存器Sy…

async与await异步编程

ECMA2017中新加入了两个关键字async与await 简单来说它们是基于promise之上的的语法糖,可以让异步操作更加地简单明了 首先我们需要用async关键字,将函数标记为异步函数 async function f() {} f()异步函数就是指:返回值为promise对象的函…

51单片机之喝水提醒器

定时器定时器介绍晶振晶体震荡器,又称数字电路的“心脏”,是各种电子产品里面必不可少的频率元器件。数字电路的所有工作都离不开时钟,晶振的好坏、晶振电路设计的好坏,会影响到整个系统的稳定性。时钟周期时钟周期也称为振荡周期…

数据库备份

数据库备份,恢复实操 策略一:(文件系统备份工具 cp)(适合小型数据库,是最可靠的) 1、停止MySQL服务器。 2、直接复制整个数据库目录。注意:使用这种方法最好还原到相同版本服务器中&…

银河麒麟v10sp2安装nginx

nginx官网下载:http://nginx.org/download/ 银河麒麟系统请先检查yum源是否配置,若没有配置请参考:https://qdhhkj.blog.csdn.net/article/details/129680789 一、安装 1、yum安装依赖 yum install gcc gcc-c make unzip pcre pcre-devel …

用嘴写代码?继ChatGPT和NewBing之后,微软又开始整活了,Github Copilot X!

用嘴写代码?继ChatGPT和NewBing之后,微软又开始整活了,Github Copilot X! AI盛行的时代来临了,在这段时间,除了爆火的GPT3.5后,OpenAI发布了GPT4版本,同时微软也在Bing上开始加入了A…

新版logcat最全使用指南

前言: 俗话说,工欲善其事,必先利其器。logcat是我们通过日志排查bug的重要武器之一。从某个版本开始,logcat改版了,改版之后,也许某些人觉得不太习惯,但是如果稍微学习下之后,就发现…

从 X 入门Pytorch——BN、LN、IN、GN 四种归一化层的代码使用和原理

Pytorch中四种归一化层的原理和代码使用前言1 Batch Normalization(2015年提出)Pytorch官网解释原理Pytorch代码示例2 Layer Normalization(2016年提出)Pytorch官网解释原理Pytorch代码示例3 Instance Normalization(2…

AJAX,Axios,JSON简单了解

一. AJAX简介概念: AJAX(Asynchronous JavaScript And XML): 异步的JavaScript 和XMLAJAX作用:1.与服务器进行数据交换: 通过AJAX可以给服务器发送请求,并获取服务器响应的数据使用了AJAX和服务器进行通信,就可以使用 HTMLAJAX来替换JSP页面了2.异步交互…

ChatGPT文心一言逻辑大比拼(一)

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…
最新文章