Вызов hvplot внутри функции не отображается в Jupyter Notebook

Я новичок в hvplot и пытаюсь включить вызов .hvplot() в определение функции, но это не работает. Следующий код работает и отображает фигуру, как и ожидалось:

import pandas as pd
import hvplot.pandas

df = pd.DataFrame([1, 5, 3, 4, 2])
df.hvplot()

но если я попробую что-то вроде:

def plot(df):
    df.hvplot()
plot(df)

Я ничего не получаю. Это в записной книжке Jupyter. Что мне не хватает?


person Dan    schedule 26.01.2021    source источник
comment
Можно подумать об этом так: hvplot работает так же, как строка или целое число: если вы хотите отобразить строку или целое число в записной книжке, вам нужно либо вызвать display(), либо вам нужно убедиться, что он возвращается как значение ячейки записной книжки (т. е. значение последней строки ячейки). То же самое для .hvplot (); он отображается, если отображается явно или возвращается как значение ячейки. Здесь значение ячейки None, потому что ваша функция возвращает None, поэтому ничего не отображается.   -  person James A. Bednar    schedule 27.01.2021


Ответы (1)


Вам нужно вернуть результат вашей функции:

def plot(df):
    return df.hvplot()

plot(df)

Or:

def plot(df):
    my_plot = df.hvplot()
    return my_plot

plot(df)
person Sander van den Oord    schedule 26.01.2021
comment
В качестве альтернативы вы можете позвонить display(df.hvplot()) - person philippjfr; 26.01.2021