Im currently trying to plot the age distribution of a country with an hbar-plot (100 bars, for ages 0 - 100, length depending on size of said agegroup).
The graph should change depending on the value of a slider element, which indicates the year the agedistribution was recorded in:
slider = Slider(start=0, end=99, value=1, step=1, title="Year", callback=CustomJS.from_py_func(callback)) The datasource currently looks like this:
m_source = ColumnDataSource(data=dict(y=y_data, right=age_data_m[-1], right2=age_data_m))
Where age_data_m is a 2dimensional numpy array and age_data_m would look like this:
[530, 543, 570, … … , 200, 120 , 20 ,0 ]
the callback definition looks like this:
def callback(source=m_source, window=None): My current problem is the limitation of ColumnDataSource : Every column needs to be the same length. The m_source showed above is contains the agedata for 2 years (the last array of age_data_m and the first one). Since the recorded data spans about 100 years, id have to declare 100 elements in the data-dict of m_source (age_data_m, age_data_m, age_data_m ...) . Id like to pass the 2dimensional array age_data_m to the callbackfunction, but then the automatic (on change of the slidervalue) update via
Any advice on this?