Python 中二维曲线加密(内插)的问题?
我读取了一系列(Y,X)的坐标,如图一所示,并绘制了散点图,目的是通过内插的方式,在这个散点图的基础上进一步加密,将连续点的间距缩小到0.1米,代码如下:
import csv as csv
import numpy as np
from scipy.interpolate import splprep
from scipy.interpolate import splev
import matplotlib.pyplot as pl #先导入常用模块
with open("1.csv", "r", encoding = "utf-8") as f:
reader = csv.reader(f)x= np.array(list(map(float,[columns[2] for columns in reader])))
with open("1.csv", "r", encoding = "utf-8") as f:
reader = csv.reader(f)y= np.array(list(map(float, [columns[3] for columns in reader]))) #从csv中读取(y,x)
pl.scatter(y,x)
pl.show() #绘制图一
tck,u= splprep([y, x], s=0) #第一步先用splprep计算出b样条曲线的参数tck和u
y1,x1=splev(u,tck) #再用splev计算完整的曲线
pl.plot(y1,x1,'r-') #绘制图二
问题就是到这里我就不会了,新手一枚,见谅,然后再怎么把这个连续的曲线的点输出出来,比如我想以x间隔0.1的密度输出出来,后面应该怎么写代码?百度上实在搜不到,麻烦大家了
以上是 Python 中二维曲线加密(内插)的问题? 的全部内容, 来源链接: utcz.com/a/160668.html