diff --git a/examples/3d_plot.py b/examples/3d_plot.py
new file mode 100644
index 0000000000000000000000000000000000000000..8dcef1f40ca45a341d16afb8a208a9ed523e311a
--- /dev/null
+++ b/examples/3d_plot.py
@@ -0,0 +1,24 @@
+from math import sqrt
+import scipy.sparse.linalg as sla
+import matplotlib.pyplot
+import kwant
+
+sys = kwant.Builder()
+lat = kwant.lattice.general([(1,0,0), (0,1,0), (0,0,1)])
+
+t = 1.0
+R = 10
+
+sys[(lat(x,y,z) for x in xrange(-R-1, R+1)
+     for y in xrange(-R-1, R+1) for z in xrange(R+1)
+     if sqrt(x**2 + y**2 + z**2) < R + 0.01)] = 4 * t
+sys[(lat(x,y,z) for x in xrange(-2*R, 2*R + 1)
+     for y in xrange(-R, R+1) for z in xrange(-R, 0))] = 4 * t
+sys[lat.neighbors()] = -t
+sys = sys.finalized()
+kwant.plot(sys)
+
+ham = sys.hamiltonian_submatrix(sparse=True)
+wf = abs(sla.eigs(ham, sigma=0.2, k=6)[1][:,0])**2
+size = 3 * wf / wf.max()
+kwant.plot(sys, site_size=size, site_color=(0,0,1,0.05), site_lw=0)