I am revisiting Panel and feel it really is the most complete and poweful pure python offering available, having tried many. That being said I am more of an IDE guy than a Jupyter notebook guy. Each time I come back to Panel, I always forget how to serve my apps from PyCharm.
panel serve so I searched for that but the cheatsheet that came up showed how to run it but it did not mention that you need to mark something as
I found my old thread on this topic but this time I am just trying to get the first part of the code to work, not the whole example.
I understood from the previous thread that you need to mark at least one Panel object with
panel serve to pick it up and render it in the served app. So I guess I need to create a panel object to wrap the holoviz scatter plot? Because the current code fails with the error:
AttributeError: 'Scatter' object has no attribute 'servable'
import panel as pn import hvplot.pandas import pandas as pd import numpy as np pn.extension(design='material') csv_file = ("https://raw.githubusercontent.com/holoviz/panel/main/examples/assets/occupancy.csv") data = pd.read_csv(csv_file, parse_dates=["date"], index_col="date") print(data.tail()) def transform_data(variable, window, sigma): ''' Calculates the rolling average and the outliers ''' avg = data[variable].rolling(window=window).mean() residual = data[variable] - avg std = residual.rolling(window=window).std() outliers = np.abs(residual) > std * sigma return avg, avg[outliers] def create_plot(variable="Temperature", window=30, sigma=10): ''' Plots the rolling average and the outliers ''' avg, highlight = transform_data(variable, window, sigma) return avg.hvplot(height=300, width=400, legend=False) * highlight.hvplot.scatter( color="orange", padding=0.1, legend=False ).servable() plot = create_plot(variable='Temperature', window=20, sigma=10) print(plot) plot