My stackoverflow Q has gotten no traction so I decided to try my luck here…
I am using holoviz param and panel to create a dashboard displaying gridded data on a map. I have two sliders to select grid coordinates x and y. Moving the sliders displays some data for the specified gridcell.
Right now I’m using two param.Integer objects to create the sliders with the bounds set to the dimensions of the xarray dataset containing the data. When a slider moves I grab a new slice from the dataset and update the dashboard.
I’d like my sliders to display the actual longitude and latitude coordinates, not the integer indices to the xarray dataset.
I can think of several ways to do this, but haven’t gotten any of them to work.
- update the displayed value on the slider to show the lat or lon. This keeps the internal slider value an integer but displays the float. I can’t figure out what to update in the callback to change this value.
- create sliders that display lat and lon as floats. The slider’s allowed values would need to come from the list of lat and lon coordinates. The step between allowed values is not constant. So I’d need a float slider that allows, say, [74.0, 74.2, 74.5] and no other values.
Maybe (probably!) I’m just really dense but I can’t quite see how to plug together the arguments to param.Number or param.Integer to make (1) or (2) happen.