Add categorical visualization

Fix #42