Bokeh 3.8.2 jupyter notebook no errors blank graph

It’s been six years since I’ve done anything with Bokeh or python( I’m retired). I’m trying to do a simple scatter plot with minimal data. When I run the cell in jupyter no errors are thrown and I get an html page with the title and zoom buttons but the page is blank. I’m running Bokeh 3.8.2 & python 3.13.9. I’m certain it is something simple, I’m just not seeing it. Thanks in Advance.

here is the cell and data I’m using and a png file of the output.

import pandas
from bokeh.io import show
from bokeh.plotting import figure

df = pandas.read_csv(r’C:\Users\jeski\bokeh\top-ten-defcon.csv’)
print(df[[“DefCon”, “Name”]])
fig = figure(width=800, height=800, title=“Defcon Plot”)

#fig.circle(x=[“Name”], y=[“Defensive Contribution”])
fig.scatter(x=df[“Name”], y=df[“DefCon”], size=8, color=“orange”)
show(fig)

   DefCon       Name
0     515   Anderson
1     458     Garner
2     419     Senesi
3     416     Ampadu
4     387      Gomes
5     386      Scott
6     376       Rice
7     376  Tarkowski
8     370    Lacroix
9     369  Fernandes
Name Goals Assists Clean Sheets Points Form Points_Per_Game Minutes Ownership Influence Threat Creativity ICT_Index Bonus Bonus Points System Clearances,blocks and interceptions Recoveries Tackles DefCon Cost_Change_Start Price
Anderson 4 5 10 180 0 4.7 3332 12.2 915.2 310 961.5 219 16 795 106 306 103 515 0 6.5
Garner 2 7 11 159 0 4.2 3413 1.1 887 237 958 208.4 13 818 154 185 119 458 0 6
Senesi 0 6 11 175 0 4.7 3288 11.1 1114.4 201 367.8 168.6 14 571 357 155 62 419 0 6
Ampadu 1 4 8 134 0 3.8 3119 1.4 592.2 166 384.8 114.7 11 586 151 184 81 416 0 5.5
Gomes 1 1 4 85 0 3 2207 0.3 486.6 176 353.4 102 4 421 87 193 107 387 0 5.5
Scott 3 2 11 136 0 3.7 2848 1.6 597.2 314 482 139 9 603 133 193 60 386 0 6
Rice 4 9 18 184 0 5.1 3093 22.2 827.2 298 1027.4 215.4 23 790 127 180 69 376 0 7.5
Tarkowski 2 3 11 170 0 4.6 3330 9.8 995.6 422 235.6 165.7 12 592 325 90 51 376 0 6
Lacroix 1 2 11 154 0 4.4 3085 12 822 316 106.4 124.3 11 529 310 96 60 370 0 6
Fernandes 3 4 8 135 0 3.8 3017 4.2 657.2 183 622.8 146.3 7 659 84 182 103 369 0 6

@bitterandstout Just to be clear you are trying to create a page outside the notebook? If you want the outputs to display inline in notebook cells, you’d need to execute output_notebook at the top of your code. But assuming you want a separate HTML page generated, the code above looks fine, so maybe there is some environment or version mismatch issue. Are there any errors or messages reported in the browser’s console log when you view the blank page?

@bitterandstout Sorry I should have looked closer before replying. It looks like one of the columns you are plotting is strings? By default Bokeh plots assume numerical ranges, so you’ll need to configure an appropriate categorical range if the data consists of string values. It’s usually as simple as passing something like this (untested) to figure:

x_range=list(df["Name"].unique())

Here is the user guide chapter on dealing with categorical data:

Thank you Bryan. I’m reading it now.