我試圖用上面的x,y座標繪製一條平滑曲線。不管我得到的圖表超出了我的數據範圍。我的代碼片段在這裏。圖的平滑給出了範圍內的巨大差異
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import spline
ylist = [0.36758563074352546, 0.27634194831013914, 0.22261484098939929, 0.10891089108910891, 0.31578947368421051, 0.086956521739130432, 0.27272727272727271, 0.18181818181818182, 0.0, 0.0, 0.92000000000000004, 0.0, 0.10526315789473684, 0.23333333333333334]
xlist = [0.025000000000000001, 0.075000000000000011, 0.125, 0.17500000000000002, 0.22500000000000001, 0.27500000000000002, 0.32500000000000001, 0.375, 0.42500000000000004, 0.47500000000000003, 0.52500000000000002, 0.57500000000000007, 0.625, 0.97500000000000009]
xlist_smooth = np.linspace(xlist.min(), xlist.max(), 100)
ylist_smooth = spline(xlist, ylist, xlist_smooth)
plt.plot(xlist_smooth,ylist_smooth)
我碰到下面的曲線輸出
你應該包括你的'import'報表我們能夠幫助你更好。 'spline'函數來自哪裏? – j08lue
如果您將輸入x和y數據繪製在同一軸上,這也會很有幫助。從外觀上看,您似乎正在進行三次樣條插值而不是平滑(即您的「平滑」輸出通過所有輸入數據點),並且您的插值在x = 0.8附近過調。 –
投票結束:不知道'樣條線'的起源是不可能回答這個問題的。 OP被問及沒有回答。 – tom10