diff --git a/visualizer/__init__.py b/visualizer/__init__.py
index 35831a0d841d47de45dcfe74cb3ed0d35bd72d5f..1e027a6cca397a8ef2e846526e6bdf2343e63123 100644
--- a/visualizer/__init__.py
+++ b/visualizer/__init__.py
@@ -1,5 +1,6 @@
 from flask import abort, Flask, g, jsonify, redirect, render_template
 
+from .data import measurements
 from .parameters import get_param, year_type
 from .plotting import plotters
 from .records import get_link, get_station, read_stations
@@ -30,6 +31,7 @@ def render_plotter(name, embedded):
     if plotter is None:
         abort(404)
     g.embedded = embedded
+    g.measurements = measurements
     g.plotters = plotters
     g.plotter = plotter
     stations = read_stations()
diff --git a/visualizer/data.py b/visualizer/data.py
index a3b7e8165c119285e83fa652d6252dcf5df0f7a0..8768b9ee6f9e392ebeaa8379b751b73b4fb1f78e 100644
--- a/visualizer/data.py
+++ b/visualizer/data.py
@@ -11,11 +11,12 @@ from pyld import jsonld
 from . import data_spec
 from .records import get_link
 
-Measurement = make_dataclass('Measurement', ['url_name', 'field', 'title'])
-measurements = {m.url_name: m for m in (
-    Measurement('temperature', 1, 'Temperature (C)'),
-    Measurement('pressure', 2, 'Pressure (hPa)'),
-    Measurement('wind-speed', 3, 'Wind Speed (m/s)'),
+Measurement = make_dataclass('Measurement',
+                             ['slug', 'field', 'title', 'units'])
+measurements = {m.slug: m for m in (
+    Measurement('temperature', 1, 'Temperature', 'C'),
+    Measurement('pressure', 2, 'Pressure', 'hPa'),
+    Measurement('wind-speed', 3, 'Wind Speed', 'm/s'),
 )}
 # Special JSON property names/values
 ACCESS_URL = 'http://www.w3.org/ns/dcat#accessURL'
diff --git a/visualizer/plotting.py b/visualizer/plotting.py
index 69d77615196798a85b1a2def938add6bd6cdc048..f7fa5ee7c860a6888f833f01a50a49ce64a8921a 100644
--- a/visualizer/plotting.py
+++ b/visualizer/plotting.py
@@ -44,21 +44,22 @@ class TimeSeries(Plotter):
                     xmax=data[:, 0][-1],
                     linestyle='-',
                     alpha=0.7)
-        axes.set_ylabel(meas.title)
+        axes.set_ylabel(f'{meas.title} ({meas.units})')
         axes.grid(True)
         maximum = max(data, key=lambda row: row[meas.field])
         minimum = min(data, key=lambda row: row[meas.field])
         axes.set_title(
-            (f'Max {meas.title}: {maximum[meas.field]}, Date: ({maximum[0]}). '
-             f'Min {meas.title}: {minimum[meas.field]}, '
+            (f'Max {meas.title} ({meas.units}): {maximum[meas.field]}, '
+             f'Date: ({maximum[0]}). '
+             f'Min {meas.title} ({meas.units}): {minimum[meas.field]}, '
              f'Date: ({minimum[0]}).'),
             fontsize='small',
         )
         name = station['name']
-        plt.suptitle(f'{meas.title} measurements, {name} Station, '
-                     f'{data[0][0].year}')
+        plt.suptitle(f'{meas.title} ({meas.units}) measurements, '
+                     f'{name} Station, {data[0][0].year}')
         return savefig_response(fig, filename=(
-            f'{cls.name}.{station_id}.{year}.{meas.url_name}.png'
+            f'{cls.name}.{station_id}.{year}.{meas.slug}.png'
         ))
 
 
@@ -104,7 +105,7 @@ class Overlay(Plotter):
                         xmax=datasets[0].data[:, 0][-1],
                         alpha=0.7,
                         label=f'Avg {dset.name} {dset.data[0][0].year}')
-        axes.set_ylabel(meas.title)
+        axes.set_ylabel(f'{meas.title} ({meas.units})')
 
         for dset in datasets:
             dset.max = max(dset.data, key=lambda row: row[meas.field])
@@ -114,20 +115,21 @@ class Overlay(Plotter):
 
         axes.grid(True)
         axes.set_title(
-            (f'Max {meas.title}: {max_dset.max[meas.field]}, '
+            (f'Max {meas.title} ({meas.units}): {max_dset.max[meas.field]}, '
              f'{max_dset.name} Station, Date: ({max_dset.max[0]}). '
-             f'Min {meas.title}: {min_dset.min[meas.field]}, '
+             f'Min {meas.title} ({meas.units}): {min_dset.min[meas.field]}, '
              f'{min_dset.name} Station, Date: ({min_dset.min[0]}).'),
             fontsize='small')
         axes.legend()
         axes.tick_params(labelbottom=False)
         title_dsets = ' / '.join(f'{dset.name} Station, {dset.data[0][0].year}'
                                  for dset in datasets)
-        plt.suptitle(f'{meas.title} measurements, {title_dsets}')
+        plt.suptitle(f'{meas.title} ({meas.units}) measurements, '
+                     f'{title_dsets}')
         filename_dsets = '.'.join(f'{dset.station_id}.{dset.year}'
                                   for dset in datasets)
         return savefig_response(fig, filename=(
-            f'{cls.name}.{filename_dsets}.{meas.url_name}.png'
+            f'{cls.name}.{filename_dsets}.{meas.slug}.png'
         ))
 
 
@@ -172,19 +174,20 @@ class Boxplot(Plotter):
         fig.set_figheight(6)
         fig.set_figwidth(12)
         axes.boxplot(plot_data, positions=years)
-        axes.set_ylabel(meas.title)
+        axes.set_ylabel(f'{meas.title} ({meas.units})')
         axes.grid(True)
         axes.set_title(
-            (f'Max {meas.title}: {maximum[meas.field]}, Date: ({maximum[0]}). '
-             f'Min {meas.title}: {minimum[meas.field]}, '
+            (f'Max {meas.title} ({meas.units}): {maximum[meas.field]}, '
+             f'Date: ({maximum[0]}). '
+             f'Min {meas.title} ({meas.units}): {minimum[meas.field]}, '
              f'Date: ({minimum[0]}).'),
             fontsize='small',
         )
         name = station['name']
-        plt.suptitle(f'{meas.title} measurements, {name} Station, '
-                     f'{start_year} - {end_year}.')
+        plt.suptitle(f'{meas.title} ({meas.units}) measurements, '
+                     f'{name} Station, {start_year} - {end_year}.')
         return savefig_response(fig, filename=(
-            f'{cls.name}.{station_id}.{year1}.{year2}.{meas.url_name}.png'
+            f'{cls.name}.{station_id}.{year1}.{year2}.{meas.slug}.png'
         ))
 
 
diff --git a/visualizer/templates/measurement-options.html b/visualizer/templates/measurement-options.html
index 672e6e61eeca6f7a7a9cd7972d232ce4ed55fb8f..71f609d3d9507f236410f67c8ad24a37bf185403 100644
--- a/visualizer/templates/measurement-options.html
+++ b/visualizer/templates/measurement-options.html
@@ -1,3 +1,5 @@
-        <option value="temperature">Temperature</option>
-        <option value="pressure">Pressure</option>
-        <option value="wind-speed">Wind Speed</option>
+{% for meas in g.measurements.values() %}
+        <option value="{{ meas.slug }}">
+          {{- meas.title -}}
+        </option>
+{% endfor %}