Try Nextjournal

Go ahead and edit this article! Hover between sections to add a new paragraph, heading, code cell, image or data file.

Coding in cells

Let's create a random normal distribution of 500 numbers in Julia and plot it. Click the number of the left and change its value, then press Cmd-Enter to re-run all affected cells.

x0 = randn(
) x1 = x0 + 1

Next, we create a code cell in JavaScript that accesses the values of the cell above and creates a histogram with it.

var data = [{x: 
random numbers.x0
, type: "histogram", opacity: 0.72}, {x:
random numbers.x1
, type: "histogram", opacity: 0.75}]; Nextjournal.plot(data, {barmode: "overlay"})

Using uploaded data

Let's graph climate change data from the OpenNEX PlanetOS project using Python Pandas. We've uploaded a CSV file - we parse it and prepare the data for plotting. To see the Python code, uncollapse the cell using the arrow icon to the left of the graph.

import pandas as pd
from plotly.graph_objs import Figure
data = pd.read_csv(
) for col in ['Model', 'Scenario', 'Variable']: data[col] = data[col].astype('category') data['Date'] = data['Date'].astype('datetime64[ns]') data['Temperature'] = data['Value'] - 273.15 model = data.loc[1, 'Model'] title = "Maximum mean temperature for warmest month using model %s" % (model) data['Year'] = data['Date'].map(lambda d: "%d-01-01" % (d.year)).astype('datetime64[ns]') by_year = data.groupby(['Year', 'Scenario']).max().loc[:,['Temperature']] groups = by_year.reset_index().set_index('Year').groupby('Scenario') plot_data = [{'x': grp.index, 'y': grp['Temperature'], 'name': key} for key, grp in groups] layout = { 'title': title,'xaxis': {'title': 'Year', 'type': 'lin'}, 'yaxis': {'title': 'Temperature [Celsius]'}} Figure(data=plot_data, layout=layout)

We're excited to see what you do with Nextjournal!