I need to digitize a plot (not a map) that consists of several polygons. I tried some open source options to digitize a plot (for example here is a list of suggestions), but I didn't find yet a free tool that can digitize polygons and also have a snapping to point feature. I saw a similar question here, and I saw some comments pointed at using a GIS application. I presume in QGIS one needs to define a custom CRS that accounts for the values of the graph's axis. Any suggestion on how to accomplish this?
You need to use the georeferencer. This is a QGIS tool that specifies the relation between points on an image and real-world coordinates, and can warp images to a proper rectangular grid in those coordinates. So for example if you have an image of the UK, you'd select London on the image and put London's coordinates (lat-long, or other) in the coordinates. Repeat for a few towns, and QGIS will then be able to warp the image to the real world.
If you want to do this with a plot I'd suggest you use a cartesian geographic coordinate system based on your axes. For example if you use UK National Grid coordinates the point (0,0) on your plot will be somewhere off the SE coast of the UK. The point (100,100) will be 100 metres N and 100 metres E of that origin point.
So depending on how distorted your plot image is, georeference a few key points, then digitise your polygons in that coordinate system.