From 55d9f1bf50bfa5d566fef653338c10894ed77b82 Mon Sep 17 00:00:00 2001 From: David Rotermund <54365609+davrot@users.noreply.github.com> Date: Wed, 13 Dec 2023 17:55:01 +0100 Subject: [PATCH] Update README.md Signed-off-by: David Rotermund <54365609+davrot@users.noreply.github.com> --- workflow/vscode_interactive/README.md | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/workflow/vscode_interactive/README.md b/workflow/vscode_interactive/README.md index 915d90a..79f5225 100644 --- a/workflow/vscode_interactive/README.md +++ b/workflow/vscode_interactive/README.md @@ -16,6 +16,14 @@ Questions to [David Rotermund](mailto:davrot@uni-bremen.de) If you don't know what I am talking about, please read: [Python Interactive window](https://code.visualstudio.com/docs/python/jupyter-support-py) +## Executing a cell + +In the cell mode (# %%) you can use +* SHIFT + ENTER to execute a cell or +* CTRL + ENTER. + +The former moves the cursor into the next cell, while the later keeps the cursor that the original position. + ## [Interactive plotting in # %% cells​](https://matplotlib.org/ipympl/) ```shell @@ -32,6 +40,7 @@ The first time we use this command, vs code will need to download a plugin). Here an example: ```python +# %% %matplotlib widget import matplotlib.pyplot as plt @@ -49,6 +58,7 @@ Yes, mypy will give you an error and yes, you can not suppress it... but non you First we plot something but keep the handle: ```python +# %% import matplotlib.pyplot as plt import numpy as np @@ -59,6 +69,7 @@ line = plt.plot(np.sin(np.linspace(0, 20, 100))) Then we can use to change the plot using the handle: ```python +# %% line[0].remove() line = plt.plot(np.sin(5.0*np.linspace(0, 20, 100))) ``` @@ -66,6 +77,7 @@ line = plt.plot(np.sin(5.0*np.linspace(0, 20, 100))) If you don't know the handle, you can retrieve it like this: ```python +# %% handles = fig.gca().get_children() print(handles) ``` @@ -74,18 +86,24 @@ print(handles) [, , , , , , , Text(0.5, 1.0, ''), Text(0.0, 1.0, ''), Text(1.0, 1.0, ''), ] ``` +This allows us to do this: + +```python +# %% +fig.gca().get_children()[0].remove() +``` + +### Re-Plotting + You can use ```python +# %% display(fig) ``` for replotting the plot. However you will get a message from VS Code that display is not defined. It is defined but it doesn't know it. -This allows us to do this: -```python -fig.gca().get_children()[0].remove() -```