You might be able to install gawk and gnuplot from your OS distribution. I used Ubuntu OS for this HOWTO, this also means the csv,txt,m and gnuplot files only have linefeeds and not carriage returns, use an appropriate text editor
XYZ tristimulus values can also be found at http://cvrl.ioo.ucl.ac.uk/cmfs.htm
The calculations from the CIE tristimulus data to CIE are from https://en.wikipedia.org/wiki/CIE_1931_color_space
You can download the all files from the following github to complete the HOWTO
A chromaticity diagram is a uniform two dimensional color gamut at a specific level of light. These calculations are at 100% light but any level from 0-1 can be used in the specific program as long as they are used consistently throughout the process.
Calculate chromaticities from tristimulus values, x=X/(X+Y+Z), y=Y/(X+Y+Z). The text files to plot are linked, if there is a script to create a text file to plot if it is linked.
Open a gnome terminal, at the command prompt type the commands proceeding each plot
set xrange [0:0.9]
set yrange [0:0.9]
set xlabel "x"
set ylabel "y"
set size square
plot "xy_data_in_visual_range.txt" with lines
plot "line_of_purples.txt" with lines
plot "sRGB.txt" with lines
Using Olaf Schultz's email@example.com work, data and awk scripts.
You will have to quit gnuplot and run this awk program to create the CIEpoints, before adding the colored sRGB gamut to the appropriate plot above in multiplot, if you don't have awk, install gawk from your repository or https://www.gnu.org/software/gawk/
gawk -f genCIEpointsRGB.awk -v d=5
plot "CIEpointsRGB.txt" u 1:2:10 w points pt 5 lc rgb variable
Using Olaf Schultz's firstname.lastname@example.org work, data and awk scripts, I can get this far with just a few edits. You will have to quit gnuplot and run this awk program to create the CIEpoints, before doing the plot. You will need the following files to do the plot.
Using Olaf Schultz's email@example.com work, data and awk scripts, I can get this far with just a few edits. You will have to quit gnuplot and run this awk program to create the CIEpoints, before doing the plot. You will need the following additional files in addition to the above files to do the plot.
plotting over the whole eye's gamut using a device gamut less than the eye's will produce wrong values, device to device repurposing within the eye's gamut is a better approximation, but here it is
gawk -f genCIEpoints_overxy.awk -v d=0.0025 -v Y=1.0 -v gam=0.454545