Can't render heatmap data for Apache Zeppelin's pyspark dataframe

Bokeh’s Image glyph takes a 2D array containing pixel values, the coords for the lower left corner of the image, and the width/height of each pixel. Your input dataframe is a flat table containing the coords of each “pixel”, and is probably better served using the Rect glyph (see https://docs.bokeh.org/en/2.4.2/docs/reference/plotting/figure.html?highlight=rect#bokeh.plotting.Figure.rect ).

If you are dead set on using the image glyph you will need to rearrange your data similar to this example: Dynamically updating multiple 2D numpy arrays in Image Glyph - #2 by gmerritt123 , which would probably involve pandas’ pivot and to_numpy methods before initializing the columndatasource.