Почему аргументы нельзя передавать явно как x и y в pyplot? - PullRequest
0 голосов
/ 28 февраля 2020

Я использую модуль matplotlib.pyplot, импортированный как plt для графиков.

В операторе plt.plot (), если я передаю аргументы как "x = array1," y = array2 ", я получаю" TypeError: plot получил неожиданный аргумент ключевого слова 'x' ".

Код выполняется правильно, если я просто передам "array1 и array2", не говоря явно, что они соответствуют осям x и y.

Почему это так?

1 Ответ

1 голос
/ 28 февраля 2020

Если вы посмотрите на определение функции https://github.com/matplotlib/matplotlib/blob/9a24fb724331f50baf0da4d17188860357d328a9/lib/matplotlib/axes/_axes.py#L72, вы увидите там звездочку, и ее использование не работает с использованием ключевых слов для необязательных параметров. См. Например, https://realpython.com/python-kwargs-and-args/.

def plot(self, *args, scalex=True, scaley=True, data=None, **kwargs):
        """
        Plot y versus x as lines and/or markers.
        Call signatures::
            plot([x], y, [fmt], *, data=None, **kwargs)
            plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...