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() #绘制图一
image.png

tck,u= splprep([y, x], s=0) #第一步先用splprep计算出b样条曲线的参数tck和u
y1,x1=splev(u,tck) #再用splev计算完整的曲线

pl.plot(y1,x1,'r-') #绘制图二
image.png

问题就是到这里我就不会了,新手一枚,见谅,然后再怎么把这个连续的曲线的点输出出来,比如我想以x间隔0.1的密度输出出来,后面应该怎么写代码?百度上实在搜不到,麻烦大家了

阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题