From b9bc82550991c7ff7bf87e84ecac989e44f39479 Mon Sep 17 00:00:00 2001 From: Benjamin CHARMES Date: Mon, 16 Jun 2025 15:54:48 +0200 Subject: [PATCH 1/2] Use embed.components instead of embed.json_item to use Bokeh 3.4.3 --- pyproject.toml | 6 ++++-- src/datalab_app_plugin_insitu/apps/nmr/blocks.py | 13 ++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f05b704..d736847 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,8 @@ dependencies = [ "scipy>=1.14.1", "nmrglue>=0.11", "navani>=0.1.11", - "datalab-server >= 0.5.3", + # "datalab-server >= 0.5.3", + # "bokeh==3.4.3", ] [project.optional-dependencies] local = ["datalab-api >= 0.2.10"] @@ -88,7 +89,8 @@ dev-dependencies = [ "mkdocs-material ~= 9.5", "mkdocstrings[python-legacy] ~= 0.25", "mkdocs-awesome-pages-plugin ~= 2.9", - "datalab-server ~= 0.5", + # "datalab-server ~= 0.5", + "datalab-server @ file:///Users/Ben/Desktop/datalab#subdirectory=pydatalab", ] [tool.coverage.run] diff --git a/src/datalab_app_plugin_insitu/apps/nmr/blocks.py b/src/datalab_app_plugin_insitu/apps/nmr/blocks.py index 0bb106d..f8438f3 100644 --- a/src/datalab_app_plugin_insitu/apps/nmr/blocks.py +++ b/src/datalab_app_plugin_insitu/apps/nmr/blocks.py @@ -3,9 +3,9 @@ from pathlib import Path from typing import Any, Dict, List, Optional, Tuple -import bokeh.embed import numpy as np import pandas as pd +from bokeh.embed import components from bokeh.events import DoubleTap from bokeh.layouts import gridplot from bokeh.models import ( @@ -263,7 +263,8 @@ def generate_insitu_nmr_plot( grid = [[None, nmrplot_figure], [echemplot_figure, heatmap_figure]] gp = gridplot(grid, merge_tools=True) - self.data["bokeh_plot_data"] = bokeh.embed.json_item(gp, theme=DATALAB_BOKEH_THEME) + script, div = components(gp, theme=DATALAB_BOKEH_THEME) + self.data["bokeh_plot_data"] = {"script": script, "div": div} return self.data.get("time_data"), ["Plot successfully generated"] @@ -392,11 +393,13 @@ def _create_heatmap_figure( color_mapper = LinearColorMapper(palette="Turbo256", low=intensity_min, high=intensity_max) + flipped_intensity_matrix = np.fliplr(intensity_matrix) + heatmap_figure.image( - image=[intensity_matrix], - x=max(ppm_values), + image=[flipped_intensity_matrix], + x=min(ppm_values), y=time_range["start"], - dw=abs(max(ppm_values) - min(ppm_values)), + dw=max(ppm_values) - min(ppm_values), dh=time_range["end"] - time_range["start"], color_mapper=color_mapper, level="image", From 6443ee07fd75ac98f38787df6c55376ea4940056 Mon Sep 17 00:00:00 2001 From: Benjamin CHARMES Date: Mon, 16 Jun 2025 16:12:02 +0200 Subject: [PATCH 2/2] Update pyproject.toml --- pyproject.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d736847..3618ce9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,8 +36,8 @@ dependencies = [ "scipy>=1.14.1", "nmrglue>=0.11", "navani>=0.1.11", - # "datalab-server >= 0.5.3", - # "bokeh==3.4.3", + "datalab-server >= 0.5.3", + "bokeh==3.4.3", ] [project.optional-dependencies] local = ["datalab-api >= 0.2.10"] @@ -89,8 +89,7 @@ dev-dependencies = [ "mkdocs-material ~= 9.5", "mkdocstrings[python-legacy] ~= 0.25", "mkdocs-awesome-pages-plugin ~= 2.9", - # "datalab-server ~= 0.5", - "datalab-server @ file:///Users/Ben/Desktop/datalab#subdirectory=pydatalab", + "datalab-server ~= 0.5", ] [tool.coverage.run]