«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как создать плавные линии в PyPlot?

Как создать плавные линии в PyPlot?

Опубликовано 21 ноября 2024 г.
Просматривать:454

How to Create Smooth Lines in PyPlot?

Построение плавных линий с помощью PyPlot

PyPlot предлагает различные методы настройки визуализации данных. Одной из распространенных задач является сглаживание линий между нанесенными точками для создания более непрерывного вида. Хотя создавать плавные линии в Gnuplot легко с помощью опции «гладкие cplines», PyPlot требует немного другого подхода.

Сглаживание линий с помощью scipy.interpolate

Одно из решений — использовать модуль scipy.interpolate. Этот модуль предоставляет мощный инструмент под названием сплайн, который может генерировать интерполированные кривые путем подгонки сплайн-функции к набору точек данных. Вот пример:

from scipy.interpolate import spline

# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300)  

power_smooth = spline(T, power, xnew)

plt.plot(xnew,power_smooth)
plt.show()

Этот код создаст плавную кривую, проведя сплайн через исходные точки данных.

Устаревший сплайн

Примечание что в версии scipy 0.19.0 и более поздних версиях функция сплайна устарела. Для обеспечения совместимости вы можете использовать класс BSpline, как показано ниже:

from scipy.interpolate import make_interp_spline, BSpline

# 300 represents the number of points to generate between T.min and T.max
xnew = np.linspace(T.min(), T.max(), 300) 

spl = make_interp_spline(T, power, k=3)  # type: BSpline
power_smooth = spl(xnew)

plt.plot(xnew, power_smooth)
plt.show()
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3