Latch Plots are similar to Jupyter Notebooks, built around Python cells that you can chain together to analyze, visualize, and interact with your data.

Unlike standard notebooks, Latch Plots allow you to:

  • Define interactive input widgets using pure Python
  • Enable reactive execution, where input changes automtically trigger dependent cells
  • Instantly convert notebooks into shareable, interactive Apps

In the walkthrough below, you’ll learn how to build an interactive App using Latch Plots in under 10 minutes.

1

Start a New Notebook

2

Add a Python Cell

  • Click “+ Analysis” to add your first Python cell.
  • The cell will be pre-populated with code that defines an input widget for loading a CSV file from either Latch Data or Latch Registry.
  • To proceed:
    • Select the Latch Data option to open the file browser.
    • Navigate to: welcome > gsea_pathway > CoCl2 vs Control (Condition).csv
    • Click the file to load it into your Plot.

Code explanation: The .value attribute in datasource.value does two things:

  • Returns the selected value from the widget (in this case, a Pandas DataFrame from the selected file or table).
  • Subscribes the current cell to the widget, so that if the user changes their selection, the cell will automatically re-run with the new value.

This is part of what makes Latch Plots reactive: your code updates in real time as users interact with the interface.

3

Add another cell to plot the data

Let’s create a volcano plot to visualize differential gene expression.
You’ll also add two text input widgets so users can adjust the significance thresholds (e.g., log₂ fold change and p-value cutoff) interactively to highlight differentially expressed genes.

Click Run to execute the cell. Then, try adjusting the input values. Your volcano plot will automatically update in response.

4

Convert your notebook into an app

On the left-hand side of the notebook, next to the “Run All” button, click the “Switch to App Mode” icon.

In App Mode, the following elements from Edit Mode are hidden:

  • Python code cells
  • Cell borders
  • Run buttons
  • Developer-specific sidebar features (e.g., versioning)

This gives end users a clean, intuitive, and fully interactive App experience.

5

Turn your App into a reproducible Plot Template

Now that you’ve set up the interface and logic for your App, it’s time to create a Plot Template.

Templates package everything—your code, widgets, visualizations, and environment—into a reusable blueprint. This makes it easy for scientists to launch their own dedicated Plot Notebooks preloaded with your App, and start analyzing data instantly.

To create a Template:

  • On the right handside of your Plot notebook, click “Save Version”. Provide your version with a descriptive name.
  • Click the three dots next to the newly created version. Select “Create new template from version”.
  • Provide a name and description for your template.

That’s it! You have successfully created your first App and saved it as a reproducible template for the entire team.