• Как показать подписи промежуточных делений в matplotlib?

    Maksim_64
    @Maksim_64
    Data Analyst
    https://matplotlib.org/stable/api/_as_gen/matplotl...
    xticks. Устанавливаешь два массива, один это ticks локации, второй это (опционально) это ассоцируемые метки с этими локациями. Например для этого графика. plt.xticks(range(2006,2023)) Второй параметр в данном случае тебе не нужен. Глянь пример из доков, также. Да и имей ввиду если ты используешь ооп апи, работаешь с объектами axes, то там set_xticks и set_xticklabels. То есть на два метода этот функционал разбит, например https://www.geeksforgeeks.org/matplotlib-axes-axes...
    Ответ написан
    Комментировать
  • Как передать параметр в декоратор в рантайме?

    Vindicar
    @Vindicar
    RTFM!
    Декорировать функцию после получения параметров. Не забывай, что
    @formatter(p1, p2)
    def csv_reader(filename, request):
        ...

    эквивалентно
    def csv_reader(filename, request):
        ...
    
    _temp = formatter(p1, p2)
    csv_reader = _temp(csv_reader)


    Альтернативно, пусть возвращаемая фукнкция имеет свойства:
    def formatter(parse_func):
        def output_func(*args):
            ...  # тут обращаемся к output_func.p1, например
    
        output_func.p1 = p1
        output_func.p2 = p2
        return output_func
    
    
    @formatter
    def csv_reader(filename, request):
        ...
    
    csv_reader.p1 = a1
    csv_reader.p2 = a2

    Вместо функции можно вообще вернуть callable object, т.е. объект класса с методом __call__(), и любыми нужными свойствами и методами.
    Ответ написан
    1 комментарий