精华内容
下载资源
问答
  • 主要为大家详细介绍了python使用插值法平滑曲线,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 实现说明见: https://blog.csdn.net/listlike/article/details/107460386
  • python画loss曲线

    2018-03-31 22:32:51
    python画loss曲线
  • 参考:python绘制平滑曲线 对折线进行平滑操作
    展开全文
  • 主要为大家详细介绍了python利用插值法对折线进行平滑曲线处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要为大家详细介绍了python用插值法绘制平滑曲线,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Python画平滑曲线(插值法)

    万次阅读 2017-09-26 19:20:27
    实现所需的库 numpy、scipy、matplotlib 实现所需的方法 ...quadratic、cubic:2、3阶B样条曲线插值 ...简单来说,插值就是根据原有数据...拟合是通过原有数据,调整曲线系数,使得曲线与已知点集的差别(最小二乘...

    实现所需的库

    numpy、scipy、matplotlib

    实现所需的方法

    插值

    • nearest:最邻近插值法
    • zero:阶梯插值
    • slinear:线性插值
    • quadratic、cubic:2、3阶B样条曲线插值

    拟合和插值的区别

    简单来说,插值就是根据原有数据进行填充,最后生成的曲线一定过原有点。

    拟合是通过原有数据,调整曲线系数,使得曲线与已知点集的差别(最小二乘)最小,最后生成的曲线不一定经过原有点。

    代码实现

    # -*- coding: utf-8 -*-
    
    # 调用模块
    # 调用数组模块
    import numpy as np
    # 实现插值的模块
    from scipy import interpolate
    # 画图的模块
    import matplotlib.pyplot as plt
    # 生成随机数的模块
    import random
    
    # random.randint(0, 10) 生成0-10范围内的一个整型数
    # y是一个数组里面有10个随机数,表示y轴的值
    y = np.array([random.randint(0, 10) for _ in range(10)])
    # x是一个数组,表示x轴的值
    x = np.array([num for num in range(10)])
    
    # 插值法之后的x轴值,表示从0到9间距为0.5的18个数
    xnew = np.arange(0, 9, 0.5)
    
    """
    kind方法:
    nearest、zero、slinear、quadratic、cubic
    实现函数func
    """
    func = interpolate.interp1d(x, y, kind='cubic')
    # 利用xnew和func函数生成ynew,xnew的数量等于ynew数量
    ynew = func(xnew)
    
    # 画图部分
    # 原图
    plt.plot(x, y, 'ro-')
    # 拟合之后的平滑曲线图
    plt.plot(xnew, ynew)
    plt.show()

    注意事项

    • x, y为原来的数据(少量)
    • xnew为一个数组,条件:x xnew
      • 如:x的最小值为-2.931,最大值为10.312;则xnew的左边界要小于-2.931,右边界要大于10.312。当然也最好注意一下间距,最好小于x中的精度
    • func为函数,里面的参数x、y、kind,x,y就是原数据的x,y,kind为需要指定的方法
    • ynew需要通过xnew数组和func函数来生成
    • 理论上xnew数组内的值越多,生成的曲线越平滑

    参考博客

    展开全文
  • python ROC 曲线

    千次阅读 2018-10-16 10:31:22
    python ROC 曲线的实现代码 import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import auc ###计算roc和auc import pandas as pd base = "D:\\WFLW\\wflw_blur_128\\ROC\\"...

    python  画 ROC 曲线的实现代码

    import numpy as np
    import matplotlib.pyplot as plt
    
    from sklearn.metrics import auc  ###计算roc和auc
    import pandas as pd
    
    base = "D:\\WFLW\\wflw_blur_128\\ROC\\"
    
    df =pd.read_csv( base + "sobel_roc.txt", encoding='utf8', delimiter=' ', header=0)
    df_lap =pd.read_csv( base + "lap_roc.txt", encoding='utf8', delimiter=' ', header=0)
    df_dft =pd.read_csv( base + "dft_roc.txt", encoding='utf8', delimiter=' ', header=0)
    df_cnn =pd.read_csv( base + "cnn_roc.txt", encoding='utf8', delimiter=' ', header=0)
    
    tpr = df['tpr']
    fpr = df['fpr']
    
    tpr_lap = df_lap['tpr']
    fpr_lap = df_lap['fpr']
    
    tpr_dft = df_dft['tpr']
    fpr_dft = df_dft['fpr']
    
    tpr_cnn = df_cnn['tpr']
    fpr_cnn = df_cnn['fpr']
    
    roc_auc = auc(fpr, tpr) ###计算auc的值
    
    roc_auc_lap = auc(fpr_lap, tpr_lap) ###计算auc的值
    
    roc_auc_dft = auc(fpr_dft, tpr_dft) ###计算auc的值
    
    roc_auc_cnn = auc(fpr_cnn, tpr_cnn)
    
    print(roc_auc)
    
    plt.figure()
    lw = 2
    plt.figure(figsize=(10,10))
    plt.plot(fpr, tpr, color='darkorange', lw=lw, label='Sobel ROC curve (area = %0.2f)' % roc_auc) ###假正率为横坐标,真正率为纵坐标做曲线
    
    plt.plot(fpr_lap, tpr_lap, color='navy', lw=lw, label='Lap ROC curve (area = %0.2f)' % roc_auc_lap)
    
    plt.plot(fpr_dft, tpr_dft, color='red', lw=lw, label='Dft ROC curve (area = %0.2f)' % roc_auc_dft)
    
    plt.plot(fpr_cnn, tpr_cnn, color='green', lw=lw, label='CNN ROC curve (area = %0.2f)' % roc_auc_cnn)
    #plt.plot(tpr, fpr, 'k--', label='Mean ROC (area = %0.2f)' % 1, lw=2)
    
    #plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
    
    plt.xlim([0.0, 1.0])
    plt.ylim([0.0, 1.05])
    plt.xlabel('False Positive Rate')
    plt.ylabel('True Positive Rate')
    plt.title('Receiver operating characteristic example')
    plt.legend(loc="lower right")
    plt.savefig(base + "roc_img\\sobel_roc.jpg")
    plt.show()
    

    画图结果

    text 的内容格式:

    展开全文
  • Python对折线进行平滑曲线处理

    万次阅读 2018-03-14 20:41:52
    在用python绘图的时候,经常由于数据的原因导致出来的图折线分界过于明显,因此需要对原数据绘制的折线进行平滑处理,本文介绍利用插值法进行平滑曲线处理: 实现所需的库 numpy、scipy、matplotlib 插值法...

    Python对折线进行平滑曲线处理

    在用python绘图的时候,经常由于数据的原因导致画出来的图折线分界过于明显,因此需要对原数据绘制的折线进行平滑处理,本文介绍利用插值法进行平滑曲线处理:

    实现所需的库

    numpy、scipy、matplotlib

    插值法实现

    • nearest:最邻近插值法
    • zero:阶梯插值
    • slinear:线性插值
    • quadratic、cubic:2、3阶B样条曲线插值
      -

    拟合和插值的区别

    1. 插值:简单来说,插值就是根据原有数据进行填充,最后生成的曲线一定过原有点。

    2. 拟合:拟合是通过原有数据,调整曲线系数,使得曲线与已知点集的差别(最小二乘)最小,最后生成的曲线不一定经过原有点。

    代码实现

    import matplotlib.pyplot as plt
    import numpy as np
    from scipy import interpolate
    
    #设置距离
    x =np.array([0, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 70, 8, 9,10])
    
    #设置相似度
    y =np.array([0.8579087793827057, 0.8079087793827057, 0.7679087793827057, 0.679087793827057,
        0.5579087793827057, 0.4579087793827057, 0.3079087793827057, 0.3009087793827057,
        0.2579087793827057, 0.2009087793827057, 0.1999087793827057, 0.1579087793827057,
        0.0099087793827057, 0.0079087793827057, 0.0069087793827057, 0.0019087793827057,
        0.0000087793827057])
    
    #插值法之后的x轴值,表示从0到10间距为0.5的200个数
    xnew =np.arange(0,10,0.1)
    
    #实现函数
    func = interpolate.interp1d(x,y,kind='cubic')
    
    #利用xnew和func函数生成ynew,xnew数量等于ynew数量
    ynew = func(xnew)
    
    # 原始折线
    plt.plot(x, y, "r", linewidth=1)
    
    #平滑处理后曲线
    plt.plot(xnew,ynew)
    #设置x,y轴代表意思
    plt.xlabel("The distance between POI  and user(km)")
    plt.ylabel("probability")
    #设置标题
    plt.title("The content similarity of different distance")
    #设置x,y轴的坐标范围
    plt.xlim(0,10,8)
    plt.ylim(0,1)
    
    plt.show()

    平滑曲线
    绘制后的曲线,红色是未进行平滑处理的折线,蓝色是进行平滑处理之后的曲线

    注意事项

    1. x, y为原来的数据(少量)
    2. xnew为一个数组,条件:x⊆⊆xnew
      如:x的最小值为-2.931,最大值为10.312;则xnew的左边界要小于-2.931,右边界要大于10.312。当然也最好注意一下间距,最好小于x中的精度
    3. func为函数,里面的参数x、y、kind,x,y就是原数据的x,y,kind为需要指定的方法
    4. ynew需要通过xnew数组和func函数来生成,理论上xnew数组内的值越多,生成的曲线越平滑
    展开全文
  • Python用插值法绘制平滑曲线

    千次阅读 2018-11-30 10:11:59
    平滑处理后: 代码实现如下: # 1. 随机构造数据 import numpy as np x = range(10) y = np.random.randint(10,size=10) # 2. 绘制原图 import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib ...
  • python画曲线图-python画曲线

    千次阅读 2020-10-28 22:54:00
    广告关闭腾讯云双11爆品提前享,...桃心形曲线的方程如下 matlab绘制效果如下:? matlab程序如下。 clccleart = -10:0.01:10x = 16*(sin(t)). ^3y = 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)%ylim()%xlim()grid ...
  • plt.scatter绘制散点图 ...使用scipy库可以进行曲线的smooth import matplotlib.pyplot as plt import numpy as np from scipy.interpolate import spline x = np.array([1, 3, 5, 7, 8]) y = np.array([1, 2, 9,...
  • 平滑处理后: 代码实现如下: # 1. 随机构造数据 import numpy as np x = range(10) y = np.random.randint(10,size=10) # 2. 绘制原图 import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib ...
  • 1. 首先导入一些python画图的包,读取txt文件,假设我现在有两个模型训练结果的records.txt文件import numpy as npimport matplotlib.pyplot as pltimport pylab as plfrom mpl_toolkits.axes_grid1.inset_locator ...
  • 广告关闭腾讯云双11爆品提前享,...桃心形曲线的方程如下 matlab绘制效果如下:? matlab程序如下。 clccleart = -10:0.01:10x = 16*(sin(t)). ^3y = 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)%ylim()%xlim()grid ...
  • 主要介绍了python基于三阶贝塞尔曲线的数据平滑算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Python画ROC曲线

    万次阅读 2018-07-06 17:27:00
     sklearn上有一个ROC曲线的例子,利用的是经典的鸢尾花(iris)数据。但鸢尾花数据分类的结果有三种,例子就直接来做图(一般的分类任务明明只有两种结果啊!!!),对于初学者来说(说的是我自己)看起来真的...
  • from scipy.interpolate import make_interp_spline 改成平滑曲线的问题解决了 接下来开始通过pandas工具包读取excel表格数据绘制平滑曲线和散点图。 import pandas as pd import numpy as np from matplotlib ...
  • Savitzky-Golay 滤波器实现曲线平滑 #Savitzky-Golay 滤波器实现曲线平滑 # 用于生成问题描述中示例曲线的代码如下: Size = 255 x = np.linspace(0, Size, Size+1) data = g_hist # 可视化图线 # plt.plot(x, data)...
  • I am reading a netcdf file using python and need to plot a graphs using matplotlib library in python.The netcdf file is containing 3 variables: u v and w components.I have to draw these 3 components o...
  • python 路径平滑(3)贝塞尔曲线优化 贝塞尔曲线图示 这篇博文里有贝塞尔曲线的动态绘制方法,辅助图可以帮助理解贝塞尔曲线 大佬代码实现 我接下来的代码基本上是大量参考(chao)大佬的代码 import matplotlib....
  • python使用matplotlib.pyplot 画曲线,并平滑处理 import matplotlib.pyplot as plt list0 = ['数据'] plt.plot(list0) plt.show() 得到: 接下来平滑处理: 先导入: import scipy.signal 使用Savitzky-Golay...
  • 主要介绍了利用python绘制数据曲线图的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Python 生成曲线进行快速平滑处理

    万次阅读 多人点赞 2019-09-03 23:20:46
    python函数: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.savgol_filter.html Savitzky-Golay 滤波器 Savitzky-Golay平滑滤波是光谱预处理中常用滤波方法,它的核心思想是对一定长度...
  • 今天小编就为大家分享一篇python构建指数平滑预测模型示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Python曲线平滑

    千次阅读 2017-08-24 16:37:10
    使用scipy.signal.medfilt函数可以对曲线进行平滑处理,第一个参数是要处理的数据,第二个参数一般是奇数,中间是数据本身,剩余为该点前后数据点,比如下面的3,代表取点本身以及前后各一个点的数据取中位数。...
  • 在用python绘图的时候,经常由于数据的原因导致出来的图折线分界过于明显,因此需要对原数据绘制的折线进行平滑处理,本文介绍利用插值法进行平滑曲线处理: 实现所需的库 numpy、scipy、matplotlib 插值法实现...
  • python 平滑曲线

    2021-09-23 16:52:09
    平滑前: 平滑后: # 1. 随机构造数据 import numpy as np x = range(10) y = np.random.randint(10,size=10) # 2. 绘制原图 import matplotlib as mpl import matplotlib.pyplot as plt %matplotlib ...
  • 首先给出一个没有smooth过的曲线 import matplotlib.pyplot as plt import numpy as np T = np.array([6, 7, 8, 9, 10, 11, 12]) power = np.array([1.53E+03, 5.92E+02, 2.04E+02, 7.24E+01, 2.72E+01, 1.10E+01,...
  • 一、最简单的模版(曲线、散点)。 import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.ylabel('some numbers') plt.show() import matplotlib.pyplot as plt plt.plot([1,2,3,4], [1,4,9,16], 'ro')#x=[1,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,885
精华内容 2,754
关键字:

python画平滑曲线

python 订阅