5.4 Categorical Data
Bar Chart
1. Sorted Bar
# Here is a list of categorical values (or factors)
names = ['Jane', 'David', 'Julian', 'Jonas', 'Macro', 'Barbara']
scores = [8, 9, 8, 5, 7, 6]# sorting the bars means sorting the range factors
sorted_names = sorted(names, key=lambda x: scores[names.index(x)])p = figure(x_range=sorted_names, plot_height=300, title="Sorted Student Scores")
# Categorical values can also be used as coordinates
p.vbar(x=names, top=scores, width=0.75)
# Set some properties to make the plot look better
p.xgrid.grid_line_color = None
p.y_range.start = 0
show(p)
2. Filled Bar
Often times we may want to have bars that are shaded some color. This can be accomplished in different ways. One way is to supply all the colors upfront. This can be done by putting all the data, including the colors for each bar, in a ColumnDataSource.

3. Stacked Bar
Another common operation or bar chart is to stack bars on top of one another. Bokeh makes this easy to do with the specialized hbar_stack() and vbar_stack() .

4. Grouped Bar
When creating bar charts, it is often desirable to visually display the data according to sub-groups.

Color Mapping
We can also apply a color mapping, similar to the earlier example.

Factor Mapping
Another way we can set the color of the bars is to use a transform. Here we use a new one factor_cmap that accepts the name of a column to use for color mapping, as well as the palette and factors that define the color mapping.
Additionally, we can configure it to map just the sub-factors if desired. we want to only shade based on the year. So we pass start=1 and end=2 to specify the slice range of each factor to use when color mapping.

5. Stacked and Grouped Bar
We've already discussed stacked bar and grouped bar, respectively. In fact, it is also possible to combine these two together, if you have a piece of complicated information to show. Here is an example, let's add a new factor called "city" for the dataset. It will show you Berlin's and Munich's performance in the 4 quarters and each month.

6. Mixed Factors
If you have created a range with nested categories as above, it is possible to plot glyphs using only the "outer" categories. Additionally, if you want to address other information, for example, the average performance of each quarter, you can overlay a line directly.
Let's create a quarterly dataset.

7. Intervals

Scatter Chart
Let's continue using the student score dataset and create an intuitive lollipop chart.

Last updated
Was this helpful?