Skip to content

Commit f0ad14d

Browse files
committed
Add more block, tags and update captions
1 parent 5d4bafb commit f0ad14d

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

docs/posts/20260227_bokeh_django.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
---
2-
date: 2025-12-10
2+
date: 2026-02-27
33
authors:
44
- stephwills
55
categories:
6-
- category_a
7-
- category_b
8-
- category_c
6+
- Technology
97
tags:
10-
- tag_a
11-
- tag_b
12-
- tag_c
8+
- Django
9+
- Python
10+
- Plotting
1311
---
1412

1513
# Plotting in Django with Bokeh
@@ -18,6 +16,8 @@ Last year, I was involved in developing one of the RSE team's internal projects,
1816

1917
We built ProCAT using [Django](https://www.djangoproject.com/), the RSE team's preferred framework for creating web applications. One important design choice was selecting which library to use for generating our analytics plots, which forms the subject of today's blogpost.
2018

19+
<!-- more -->
20+
2121
## Choosing a plotting library
2222

2323
For ProCAT, the requirement was to provide interactive timeseries charts, allowing the user to zoom in, use tooltips, select the time range to be displayed and apply filters to select which data to display.
@@ -129,7 +129,7 @@ It is important to note that, to use these components, the BokehJS resources mus
129129

130130
Following this, you should now have your Bokeh plot rendered in your Django view!
131131

132-
![Example plot](images/bokeh_django/plot.png)
132+
![An initial Bokeh plot](images/bokeh_django/plot.png)
133133

134134
### Creating interactive widgets
135135

@@ -197,7 +197,7 @@ layout = row(
197197

198198
The layout can then be used to generate the HTML components to be added to the template, as shown above.
199199

200-
![Example plot with widgets](images/bokeh_django/plot_with_widgets.png)
200+
![A plot using date picker widgets](images/bokeh_django/plot_with_widgets.png)
201201

202202
### Ajax data sources (plus more advanced widgets)
203203

@@ -295,7 +295,7 @@ callback = CustomJS(
295295

296296
Now, we should have a working plot using `AjaxDataSource`s with our `CheckboxButtonGroup` widget.
297297

298-
![Example plot](images/bokeh_django/ajax_plot.png)
298+
![An Ajax plot with a checkbox button](images/bokeh_django/ajax_plot.png)
299299

300300
## Summary
301301

0 commit comments

Comments
 (0)