I just tried out the example in xrviz following your Medium blog post. Not a conda user, so installed from pip. If I try to plot a variable, I hit a ValueError due to missing colormap, see full traceback:
ERROR:tornado.application:Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOMainLoop object at 0x7f08a3475390>>, <Future finished exception=ValueError('Supplied cmap fire not found among matplotlib, bokeh, or colorcet colormaps.',)>)
Traceback (most recent call last):
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/tornado/ioloop.py", line 743, in _run_callback
ret = callback()
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/tornado/ioloop.py", line 767, in _discard_future_result
future.result()
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/tornado/gen.py", line 748, in run
yielded = self.gen.send(value)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/bokeh/server/session.py", line 70, in _needs_document_lock_wrapper
result = yield yield_for_all_futures(func(self, *args, **kwargs))
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/bokeh/server/session.py", line 191, in with_document_locked
return func(*args, **kwargs)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/bokeh/document/document.py", line 1127, in wrapper
return doc._with_self_as_curdoc(invoke)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/bokeh/document/document.py", line 1113, in _with_self_as_curdoc
return f()
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/bokeh/document/document.py", line 1126, in invoke
return f(*args, **kwargs)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/bokeh/document/document.py", line 916, in remove_then_invoke
return callback(*args, **kwargs)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/panel/viewable.py", line 653, in _change_event
self.set_param(**self._process_property_change(events))
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/param/parameterized.py", line 1219, in inner
return fn(*args, **kwargs)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/param/parameterized.py", line 2572, in set_param
return self_or_cls.param.set_param(*args,**kwargs)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/param/parameterized.py", line 1365, in set_param
self_._batch_call_watchers()
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/param/parameterized.py", line 1480, in _batch_call_watchers
watcher.fn(*events)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/xrviz/sigslot.py", line 54, in _signal
self._emit(self._map[wn], event.new)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/xrviz/sigslot.py", line 63, in _emit
if callback(value) is False:
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/xrviz/dashboard.py", line 105, in create_plot
self.create_indexed_graph()
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/xrviz/dashboard.py", line 144, in create_indexed_graph
self.output[0] = graph
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/panel/layout.py", line 219, in __setitem__
self.objects = new_objects
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/param/parameterized.py", line 296, in _f
return f(self, obj, val)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/param/parameterized.py", line 861, in __set__
obj.param._call_watcher(watcher, event)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/param/parameterized.py", line 1454, in _call_watcher
watcher.fn(self_._update_event_type(watcher, event, self_.self_or_cls.param._TRIGGER))
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/panel/viewable.py", line 604, in param_change
self._update_model(events, msg, root, model, doc, comm)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/panel/layout.py", line 63, in _update_model
msg[self._rename['objects']] = self._get_objects(model, old, doc, root, comm)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/panel/layout.py", line 94, in _get_objects
child = pane._get_model(doc, root, model, comm)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/panel/pane/holoviews.py", line 125, in _get_model
plot = self._render(doc, comm, root)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/panel/pane/holoviews.py", line 150, in _render
return renderer.get_plot(self.object, **kwargs)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/bokeh/renderer.py", line 135, in get_plot
plot = super(BokehRenderer, self_or_cls).get_plot(obj, renderer, **kwargs)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/renderer.py", line 207, in get_plot
plot.update(init_key)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/plot.py", line 595, in update
return self.initialize_plot()
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/bokeh/element.py", line 1259, in initialize_plot
self._init_glyphs(plot, element, ranges, source)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/bokeh/element.py", line 1206, in _init_glyphs
data, mapping, style = self.get_data(element, ranges, style)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/bokeh/raster.py", line 207, in get_data
cmapper = self._get_colormapper(z, element, ranges, style)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/bokeh/element.py", line 1674, in _get_colormapper
palette = process_cmap(cmap, ncolors, categorical=categorical)
File "/home/milan/Work/xrviz/venv/lib/python3.6/site-packages/holoviews/plotting/util.py", line 894, in process_cmap
(cmap,providers_checked))
ValueError: Supplied cmap fire not found among matplotlib, bokeh, or colorcet colormaps.
Adding matplotlib to requirements.txt fixes this. Let me know if you'd like a PR.