This video shows one way to use custom symbols to plot geological measurements such as bedding, joints and lineations on a map using QGIS.
To learn how to create custom svg symbols see this video • Create custom geology symbols for QGI...
QGIS (a free and open source geographic information system) https://www.qgis.org/
The expression shown in the video (at 06:30) for the label offset is the following:
to_string((sin(radians("D_P_Azim")) * 2 )||','||(cos(radians( "D_P_Azim" )) * 2))
Where "D_P_Azim" is the field name and 2 is the offset factor (you can vary this to suit).
CHAPTERS
00:00 – Introduction
00:30 – Create new shapefile for data
01:49 – Add data to map
03:06 – Apply geological symbols from svg files
05:07 – Note about location of svg files
05:56 – Add dip / plunge labels
06:30 – Position labels with custom expression
07:38 – Wrap up