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

Как я могу сгладить линии в Matplotlib для лучшей визуализации?

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

How can I smooth lines in Matplotlib for better visualization?

Сглаживание линий в Matplotlib

В Matplotlib графики обычно соединяют точки данных прямыми линиями. Хотя в определенных сценариях это может быть приемлемо, полученный график может выглядеть неровным или визуально непривлекательным. Эту проблему можно решить путем сглаживания линий, что приводит к более четкой и информативной визуализации.

Использование интерполяции SciPy

Чтобы сгладить линии в Matplotlib, вы можете использовать возможности библиотеки SciPy. Вызвав scipy.interpolate.spline, вы можете сгенерировать функцию интерполяции, которая создаст плавную кривую, проходящую через исходные точки данных.

from scipy.interpolate import spline

T = np.array([6, 7, 8, 9, 10, 11, 12])
power = np.array([1.53E 03, 5.92E 02, 2.04E 02, 7.24E 01, 2.72E 01, 1.10E 01, 4.70E 00])

xnew = np.linspace(T.min(), T.max(), 300)  # Define the number of points for smoothing

power_smooth = spline(T, power, xnew)

plt.plot(xnew, power_smooth)

В версиях SciPy 0.19.0 и более поздних версиях сплайн объявлен устаревшим и заменен классом BSpline. Для достижения аналогичных результатов вы можете использовать следующий код:

from scipy.interpolate import make_interp_spline, BSpline

spl = make_interp_spline(T, power, k=3)  # k=3 indicates cubic spline interpolation
power_smooth = spl(xnew)

plt.plot(xnew, power_smooth)

Визуализация эффектов сглаживания

Исходный график с прямыми линиями и сглаженный график можно сравнить для наглядности:

[До]( https://i.sstatic.net/dSLtt.png)
[После](https://i.sstatic.net/olGAh.png)

Как видно из изображений, сглаживание линий устраняет неровности, в результате чего график становится более визуально привлекательным и информативным.

Последний учебник Более>

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

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

Copyright© 2022 湘ICP备2022001581号-3