сглаживание линий для категориальных данных с помощью matplotlib - PullRequest
0 голосов
/ 10 марта 2019

Об этом спрашивали раньше здесь , но предложенные решения не работают для моих данных.

T = np.array(['2', '5', '10', '25', '50', '100', '300'])
T = T.astype(np.float)
power=np.array([0.066666667, 0.083333333, 0.2, 0.3, 0.35, 0.333333333, 0.38333333299999994])
xnew = np.linspace(T.min(),T.max(),300) 

spl = make_interp_spline(T, power, k=3) 
power_smooth = spl(xnew)
plt.plot(xnew,power_smooth)
plt.show()

Этот метод сглаживает график с неправильными предсказаниями, в этом случае у меня нет значений y ниже 0,35 после 10 по оси x, но метод сглаживает график до значений даже ниже нуля между 100 и 300. В Excel опция smooth просто сглаживает график между заданными значениями и не добавляет дополнительных значений по оси y, мне было интересно, как то же самое можно применить в matplotlib.

Сглаженный сюжет в excel как хотел: smoothed plot in excel

Сглаженный участок в matplotlib: smoothed plot in matplotlib

...