I didn’t understand clearly what you want to do, you said that you consider Company as a key and you want to use multiple key with for each key multiple values. So I was wondering if multi_select is really what you need.
If you have a small number of keys you can use a selector for each key, you will have all the combinations.
In that case you just need to add those new selector to pn.depends and to the signature of the get_plot function.
Another case : If you only need to chose a couple (key, value) you can check this topic
But if you’re good with your MultiSelect, replacing ticker.param.value by multi_select.param.value would do the work. You will need to check if multi_select is empty , if you have selected only 1 value and the case where you have selected several values. Also I have made a mistake with the instantiation of the MultiSelect widget :
multi_select = pn.widgets.MultiSelect(name='Test',
value = test_dtf[test_list].drop_duplicates().values.tolist()[0],
options = test_dtf[test_list].drop_duplicates().values.tolist())