I discovered that Python's MatPlotLib library has an xkcd style, which you simply wrap round a plot. This allowed me to piece together what I needed using line segments, shapes, and labels.
Given a function, f, which draws what you need on some axes ax, use the style like this, and you're done:
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
For example to explain what happens when you fire cannons at different angles:
I gave a talk at Skillsmatter, called "Visualisation FTW", which was recorded, so you can watch it if you want. I also wrote this up for ACCU's CVu magazine. The ACCU runs an annual best article survey, and I was runner up, which was a pleasant surprise. You need to be a member to view the article, but it covers the same ground as the short talk at Skillsmatter.
Buy a copy of my book, or go play with xkcd style pictures. Have fun; I did.