本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-12(11)

2021-01(41)

Python实现插值

发布于2020-03-17 14:16     阅读(335)     评论(0)     点赞(9)     收藏(4)



from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
import numpy as np

x =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
y1=[0.1975, 0.1942, 0.1895, 0.1848, 0.1660, 0.1645, 0.1646, 0.1641, 0.1649, 0.1652, 0.1664, 0.1680, 0.1686]
y2=[0.7232, 0.7253, 0.7280, 0.7305, 0.7453, 0.7443, 0.7415, 0.7392, 0.7345, 0.7301, 0.7251, 0.7182, 0.7120]
y3=[0.0793, 0.0805, 0.0825, 0.0847, 0.0887, 0.0912, 0.0939, 0.0967, 0.1006, 0.1047, 0.1085, 0.1139, 0.1194]

#绘制0-14岁人口所占比例插值图
from scipy.interpolate import spline
plt.figure(figsize=(8,6))
x_new = np.linspace(min(x),max(x),100)
y_smooth = spline(x, y1, x_new)
plt.ylim((0.16, 0.20))
my_y_ticks = np.arange(0.16, 0.201,0.005)
plt.yticks(my_y_ticks)
plt.plot(x_new, y_smooth)
plt.xticks((1,2,3,4,5,6,7,8,9,10,11,12,13),('2006年','2007年','2008年','2009年','2010年','2011年','2012年','2013年',
                                   '2014年','2015年','2016年','2017年','2018年'))
def baifenbi(temp,position):
    return"%.1f"%(100*temp)+"%"
plt.gca().yaxis.set_major_formatter(FuncFormatter(baifenbi))
plt.xlabel('年份')
plt.ylabel('0-14岁人口占总人口比例')
plt.show()

#绘制15-64岁人口所占比例插值图
from scipy.interpolate import spline
plt.figure(figsize=(8,6))
x_new = np.linspace(min(x),max(x),100)
y_smooth = spline(x, y2, x_new)
plt.ylim((0.70, 0.76))
my_y_ticks = np.arange(0.70, 0.76,0.005)
plt.yticks(my_y_ticks)
plt.plot(x_new, y_smooth)
plt.xticks((1,2,3,4,5,6,7,8,9,10,11,12,13),('2006年','2007年','2008年','2009年','2010年','2011年','2012年','2013年',
                                   '2014年','2015年','2016年','2017年','2018年'))
def baifenbi(temp,position):
    return"%.1f"%(100*temp)+"%"
plt.gca().yaxis.set_major_formatter(FuncFormatter(baifenbi))
plt.xlabel('年份')
plt.ylabel('15-64岁人口占总人口比例')
plt.show()

#绘制65岁及以上人口所占比例插值图
from scipy.interpolate import spline
plt.figure(figsize=(8,6))
x_new = np.linspace(min(x),max(x),100)
y_smooth = spline(x, y3, x_new)
plt.ylim((0.07, 0.13))
my_y_ticks = np.arange(0.07, 0.130001,0.01)
plt.yticks(my_y_ticks)
plt.plot(x_new, y_smooth)
plt.xticks((1,2,3,4,5,6,7,8,9,10,11,12,13),('2006年','2007年','2008年','2009年','2010年','2011年','2012年','2013年',
                                   '2014年','2015年','2016年','2017年','2018年'))
def baifenbi(temp,position):
    return"%.1f"%(100*temp)+"%"
plt.gca().yaxis.set_major_formatter(FuncFormatter(baifenbi))
plt.xlabel('年份')
plt.ylabel('65岁及以上人口占总人口比例')
plt.show()

运行效果如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

原文链接:https://blog.csdn.net/kun_coder/article/details/104872169







所属网站分类: 技术文章 > 博客

作者:2322wewe

链接:https://www.pythonheidong.com/blog/article/263142/9c2b9bd9371f64da4747/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

9 0
收藏该文
已收藏

评论内容:(最多支持255个字符)