matplotlib画波动很小的图

2024-01-21 15:12
文章标签 matplotlib 波动 很小

本文主要是介绍matplotlib画波动很小的图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天测试一个画图时,有一个很神奇的发现

import matplotlib.pyplot as plt
import numpy as np 
import pandas as pd 
x = [10,20,30,40,50,60,70,80]y=[-23.99534833975495,-23.9999998600783,-24.000000070633167,-24.000000068469788,-24.00000006672905,-24.000000065189436,-24.00000006373562,-24.00000006232896]plt.plot(x,y,color="r")
plt.show()

结果如下
在这里插入图片描述
看左上角那个标识,-2.399e1到底是什么鬼,我的y值波动很小的呀,为什么还是会出现这种突然下降的情况,这个就是matplotlib默认的问题了,我查了之后大致是可以认为的,-2.399e1就是顶部的标度(即x=10)时,往下的-0.006代表的真实值就是-2.399e1-0.006,依次类推,因为最大值和最小值刚好差0.005左右

正确的画图思路是下面的,假如y轴的显示范围

import matplotlib.pyplot as plt
import numpy as np 
import pandas as pd 
x = [10,20,30,40,50,60,70,80]y=[-23.99534833975495,-23.9999998600783,-24.000000070633167,-24.000000068469788,-24.00000006672905,-24.000000065189436,-24.00000006373562,-24.00000006232896]plt.ylim([-25,-23])
plt.plot(x,y,color="r")plt.show()

结果如下
在这里插入图片描述
这个结果才是我的预期

注意这种标识不是所有情况都会出现

import matplotlib.pyplot as plt
import numpy as np 
import pandas as pd 
x = [5,10,20,30,40,50,60,70,80]y=[-3.99534833975495,-3.99534833975495,-3.9999998600783,-4.000000070633167,-4.000000068469788,-4.00000006672905,-4.000000065189436,-4.00000006373562,-4.00000006232896]#plt.ylim([-25,-23])
plt.plot(x,y,color="r")plt.show()

结果如下
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np 
import pandas as pd 
x = [5,10,20,30,40,50,60,70,80]y=[-13.99534833975495,-13.99534833975495,-13.9999998600783,-14.000000070633167,-14.000000068469788,-14.00000006672905,-14.000000065189436,-14.00000006373562,-14.00000006232896]#plt.ylim([-25,-23])
plt.plot(x,y,color="r")plt.show()

结果如下
在这里插入图片描述
散点图也会出现这种情况

import matplotlib.pyplot as plt
import numpy as np 
import pandas as pd 
x = [10,20,30,40,50,60,70,80]y=[-3.99534833975495,-3.9999998600783,-24.000000070633167,-24.000000068469788,-24.00000006672905,-24.000000065189436,-24.00000006373562,-24.00000006232896]plt.scatter(x,y,color="r")
plt.show()

在这里插入图片描述

norm_vector=[2.663689859547342e-08,
7.999154916053879e-09,
7.99915525716199e-09,
7.999155333718048e-09]
plt.figure(figsize=(10,12))
plt.grid()
plt.yscale('log')
plt.scatter([1,2,3,4],norm_vector)

在这里插入图片描述

这篇关于matplotlib画波动很小的图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629943

相关文章

matplotlib绘图中插入图片

在使用matplotlib下的pyplot绘图时,有时处于各种原因,需要采用类似贴图的方式,插入外部的图片,例如添加自己的logo,或者其他的图形水印等。 一开始,查找到的资料都是使用imshow,但是这会有带来几个问题,一个是图形的原点发生了变化,另外一个问题就是图形比例也产生了变化,当然最大的问题是图形占据了整个绘图区域,完全喧宾夺主了,与我们设想的只在绘图区域中占据很小的一块不相符。 经

matplotlib中文乱码问题

在使用Matplotlib进行数据可视化的过程中,经常会遇到中文乱码的问题。显示乱码是由于编码问题导致的,而matplotlib 默认使用ASCII 编码,但是当使用pyplot时,是支持unicode编码的,只是默认字体是英文字体,导致中文无法正常显示,所以显示中文乱码。 文本使用系统默认字体、手动指定字体、使用字体管理器来解决。 一、系统默认字体(全局设置字体) 在Matplotlib中

Matplotlib图像读取和输出及jpg、png格式对比,及透明通道alpha设置

图像像素值 图像像素值一般size为3,也就是通道数,分别代表R,G,B,如果只有单一 一个值则表示灰度值,也就是说一张二维图片,当长和宽都为1080时,那么若是灰度图像,图像尺寸为(1080,1080,1)若是RGB图像则为(1080,1080,3), jpg、png图像格式 jpg图像的灰度值范围和RGB范围为[0,255],数值类型为uint8,也就是无符号整数 png图像的灰度值范

使用matplotlib绘制散点图、柱状图和饼状图-学习篇

一、散点图 Python代码如下: num_points = 100x = np.random.rand(num_points) #x点位随机y = np.random.rand(num_points) #y点位随机colors = np.random.rand(num_points) #颜色随机sizes = 1000 * np.random.rand(num_points) # 大

Matplotlib通过axis()配置坐标轴数据详解

坐标轴范围设置 axis()可以直接传入列表[xmin,xmax,ymin,ymax]进行范围设置, 分别可以使用plt.axis()或者画布对象.axis()进行配置 import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 20, 100)y = x*2plt.plot(x, y, 'r')plt.ax

【python 图像切割】matplotlib读取图像,裁剪图像

#-*-coding:utf-8-*-import sysreload(sys)sys.setdefaultencoding('utf-8')import matplotlib.pylab as plt# 加载图像im = plt.imread("E:/ID/2.png")print(im.shape)# (y轴像素点数, x轴像素点数,图像通道数)def plti(im, **kw

怎么使用matplotlib绘制一个从-2π到2π的sin(x)的折线图-学习篇

首先:如果你的环境中没有安装matplotlib,使用以下命令可以直接安装 pip install matplotlib 如何画一个这样的折线图呢?往下看 想要画一个简单的sin(x)在-2π到2π的折线图,我们要拆分成以下步骤: 先导入相关的库文件 我们需要创建一个数学函数相关的图,需要引入 numpy 我们需要绘制图表,所以需要引入matplotlib来绘制图表创建一个x值的数组从

解决matplotlib中文乱码最简单方案

解决matplotlib中文乱码问题方案众多,我认为如下方案是最简单的一个。 1、从电脑中搜索simhei字体,如下示意图是mac检索结果,或者直接搜索simhei.ttf下载字体 拷贝到指定路径:/path/to/mex/simhei.ttf  2、matplotlib 加载字体 def plot_with_chinese():     import matplotlib.pyp

讯飞医疗持续亏损:客户数量有所波动,应收账款账龄较长

《港湾商业观察》黄懿 近期,讯飞医疗科技股份有限公司(简称"讯飞医疗")再度递表港交所并更新招股书,华泰国际、广发融资(香港)及建银国际担任联席保荐人。 讯飞医疗为了此番递表,母公司与其做了十足的准备,那么最新更新的招股书又如何为其资本化道路加持呢?​ 持续亏损,业务结构出现变化 7月26日,科大讯飞(002230.SZ)发布公告称,控股子公司讯飞医疗收到中国证券监督管理委员会出具

Matplotlib详解 - PlotType : Pairwise data

1. 前言 Pairwise data(成对数据)指的是在数据集中,数据点是以成对的形式出现的,通常用于分析两者之间的关系或比较。在成对数据中,数据点通常是以两个变量的组合出现的,代表两个实体、两个属性或两个观测值之间的关系。 本篇文章讲解成对数据的可视化形式 2. plot()折线图 用途:最常见的折线图绘制函数,用于绘制连续数据的趋势 适用场景:绘制简单的线性或非线性关系,比