Excel-подобная интерполяция в Python

Построение моих данных в excel в виде графика рассеяния с плавной линией и маркерами приводит к типу фигуры, которую я ожидаю. Изображение графиков Excel: Изображение графиков Excel

Однако при попытке построить данные в matplotlib я сталкиваюсь с некоторыми проблемами с интерполяцией. Я использую пакет интерполяции из SciPy, я пробовал ряд различных методов интерполяции, включая сплайн-интерполяцию и BarycentricInterpolator, как это было предложено ранее . Эти графики, очевидно, очень сильно отличаются от графиков, полученных от excel:

сплайн-интерполяция и BarycentricInterpolator

Я пробовал различные сглаживания и значения k для интерполяции сплайнов, в то время как кривая меняет корневую проблему.

Как я смогу создать подогнанную кривую, похожую на графики, созданные на основе excel?

благодаря

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

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

from scipy.interpolate import interp1d, Akima1DInterpolator import numpy as np import matplotlib.pyplot as plt x = np.array([0.02,0.2,2,20,200]) y = np.array([700,850,680,410, 700]) plt.plot(x,y, marker="o", ls="") sx=np.log10(x) xi_ = np.linspace(sx.min(),sx.max(), num=201) xi = 10**(xi_) f = interp1d(sx,y, kind="cubic") yi = f(xi_) plt.plot(xi,yi, label="cubic spline") f2 = Akima1DInterpolator(sx, y) yi2 = f2(xi_) plt.plot(xi,yi2, label="Akima") plt.gca().set_xscale("log") plt.legend() plt.show() 

введите описание изображения здесь

  • Как я могу написать графики для Python DocX Document
  • Matplotlib / Pandas для создания определенного графика из Python dict / JSON
  • Как я могу получить ту же самую точную гистограмму в Excel из вывода matplotlib?
  • В Python: как написать разреженную матрицу в файл csv?
  • Как нарисовать 100% штабелированных баров со смешанными + ve и -ve значениями в matplotlib?
  • 100% кластерное и построение диаграмм строк в python или excel
  • Настройка отображения изображения matplotlib для добавления копии / вставки
  • Pandas не может отображать таймеры, импортированные из Excel
  • Линейная диаграмма в matplotlib с двойной осью (строки на оси)
  • Как построить частоту одного события по отношению к другому?
  • Использование данных с листа excel для графа в python
  • Interesting Posts

    VBA – ошибка времени выполнения «13» при попытке транспонирования значений строк

    Расширение количества опорных ячеек, переданных функции .Range в Excel VBA

    R сменяет кодировку символов символьного вектора

    Как удалить несколько верхних строк и последнюю строку из файла CSV с помощью python

    VBA Excel для выделения диапазона на другом листе

    Как создать многоэлементную ячейку с библиотекой EPPlus для Excel

    Как активировать конкретный рабочий лист в Excel?

    Поиск средневзвешенного значения в Excel / Google Таблицах

    Использование параметров в Powershell для назначения мест в папках

    Excel Macro для получения случайных данных из столбца A

    Предупреждающее сообщение при замене значений ячейки Excel в приложении Windows C #

    Рабочий лист Comaparison Excel

    Как реализовать «count, если значение равно 1, и если значение слева указано в отдельном столбце»

    Файлы csv сломаны

    Исключение при выделении дубликатов

    Давайте будем гением компьютера.