Open Source & Free

WLJS Notebook

Open-source Notebook interface for Wolfram Language

Typeset math input, expressive syntax, rich media output, and live interactivity

Plot[1/x, {x,0,1}]
🪄

Create dynamic 3D plots quickly

Manipulate[Plot3D[  Sin[n x] Cos[n y], {x, -1, 1}, {y, -1, 1}], {n, 1, 5, 0.3}, ContinuousAction -> True]
Manipulate[Plot3D[  Sin[n x] Cos[n y], {x, -1, 1}, {y, -1, 1}], {n, 1, 5, 0.3}]
begin    using PlutoUI    using PlotlyJSend@bind n Slider(1:0.3:5; default=1, show_value=true)begin    xs = range(-1, 1; length=80)    ys = range(-1, 1; length=80)    zs = [sin(n * x) * cos(n * y) for y in ys, x in xs]    Plot(        surface(x=xs, y=ys, z=zs),        Layout(            height=700,            scene=attr(                xaxis_title="x",                yaxis_title="y",                zaxis_title="sin(n x) cos(n y)"            )        )    )end
import numpy as npimport plotly.graph_objects as goimport ipywidgets as widgetsfrom IPython.display import displayimport plotly.io as piopio.renderers.default = "iframe_connected"x = np.linspace(-1, 1, 80)y = np.linspace(-1, 1, 80)X, Y = np.meshgrid(x, y)def plot_surface(n):    Z = np.sin(n * X) * np.cos(n * Y)    fig = go.Figure(data=[go.Surface(x=x, y=y, z=Z)])    fig.update_layout(        height=700,        margin=dict(l=0, r=0, b=0, t=30),        scene=dict(            xaxis_title="x",            yaxis_title="y",            zaxis_title="sin(n x) cos(n y)",        ),    )    display(fig)n_slider = widgets.FloatSlider(    value=1,    min=1,    max=5,    step=0.3,    description="n",    continuous_update=True,    readout_format=".1f",)out = widgets.interactive_output(plot_surface, {"n": n_slider})display(widgets.VBox([n_slider, out]))
import marimo as moimport numpy as npimport plotly.graph_objects as gon_slider = mo.ui.slider(    start=1,    stop=5,    step=0.3,    value=1,    label="n",    show_value=True,    full_width=True,)n_slider_x = np.linspace(-1, 1, 80)_y = np.linspace(-1, 1, 80)_X, _Y = np.meshgrid(_x, _y)_Z = np.sin(n_slider.value * _X) * np.cos(n_slider.value * _Y)_fig = go.Figure(data=[go.Surface(x=_x, y=_y, z=_Z)])_fig.update_layout(    height=700,    margin=dict(l=0, r=0, b=0, t=30),    scene=dict(        xaxis_title="x",        yaxis_title="y",        zaxis_title="sin(n x) cos(n y)",    ),)mo.ui.plotly(_fig)

Digitally Signed

Our releases are digitally signed and checked by SignPath Foundation and Apple

Learn more about SignPath Foundation →

We need your support

As an independent open-source project, we're unaffiliated with Wolfram or any company. Your support keeps this project alive.

Licensing

WLJS Notebook is open-source software licensed under the AGPLv3

While WLJS Notebook itself is AGPLv3 licensed, it requires the Wolfram Engine to function. The Wolfram Engine is a separate product with its own licensing terms For the full license text of WLJS Notebook, visit our GitHub repository.

Are you a robot? Here is a text version of the whole website